Hanson shot the week's best round of seven-under 65, while Mickelson shot the week's back nine, 30, in his round of 66. Hanson moved to nine-under 207, Mickelson was one behind.
The 2010 British Open champion South African Louis Oosthuizen (69) was lying third despite a bogey on 18th, while making it tight were Bubba Watson (70) at fourth with six-under 210 and Matt Kuchar (70) at 211.
Lee Westwood (72) stuck it out while Henrik Stenson (70) put behind him his opening day quadruple bogey, and Padraig Harrington (68) had five birdies in last six holes.
The trio was four-under 212 in tied sixth place.
Meanwhile Tiger Woods (72), Rory McIlroy (77) or Sergio Garcia (75) couldn't do a thing right.
Woods was tied 38th, McIlroy 27th and Garcia 19th.
More From This Section
Hanson, who missed the cut last year in his maiden Masters, is looking to become the first Swede to win it, while Mickelson playing his 20th Masters has won three times before.
Last season, the 34-year-old Ryder Cup player Hanson got his first top-10 at a Major, when he shot 67 on the final day to tie for seventh at US Open at the Congressional.
Besides three Masters, Mickelson also has one PGA title to make it four Majors. He has been runner-up at the US Open five times and once at the British Open. Since 1999, he has finished outside the top-10 at Masters only twice, including last year.
Hanson birdied 14th, 15th, 17th and 18th coming home for a second-nine 31. Mickelson, the three-time Masters champion, finished with a flurry also, making birdie on 12th, eagle on 13th and birdies on 15th and 18th for a stunning 30 on the second nine to shoot 66 and reach 8-under.