The 25-year-old who has recently signed for French giants Perpignan on a three-year deal will with his 49th cap at Murrayfield and replaces Stephen Jones in the number 10 jersey who drops to the bench.
"James has a real opportunity to show what a quality player he is," said Gatland.
"There is a certain amount of risk involved as he has not started a game at fly-half this season, but the decision was made easier considering Stephen has been limited in what he can do in the early part of this week after the bump he picked up early on against England."
In the pack Ryan Jones starts at No8 with Andy Powell missing out with a shoulder injury.
"The forwards were in a battle last week, but there were plenty of things that went right and we want them to go up to Murrayfield and give it a shot," said Wales assistant coach (forwards) Robin McBryde.
"Our front five was an asset in the Autumn and Craig Mitchell has come in and done well and helped give us platform off the scrum and line-out. We have talked about better execution and accuracy but largely we want the same again from the forwards with Ryan (Jones) coming back into the mix as well.
"Ryan has shown his true character after some set backs in terms of selection
WALES: Lee Byrne; Morgan Stoddart, Jamie Roberts, Jonathan Davies, Shane Williams; James Hook, Mike Phillips; Paul James, Matthew Rees (Capt), Craig Mitchell, Bradley Davies, Alun Wyn Jones, Dan Lydiate, Sam Warburton, Ryan Jones
Replacements: Richard Hibbard, John Yapp, Jonathan Thomas, Josh Turnbull, Tavis Knoyle, Stephen Jones, Rhys Priestland.