With Welshman Jamie Donaldson struggling badly after his opening course record 62 - he crashed from four clear to six behind with a 74 - it was two of Europe's Ryder Cup stars who took over at the top.
World number one McIlroy grabbed seven birdies for a 65 that lifted him to 12 under, but he trails Hanson by two after the 35-year-old's nine-birdie 64.
They have opened up a gap with the rest of the star-studded field. Hanson's compatriot Robert Karlsson is three strokes further back in third after he also shot 64 to burst out of the pack.
Hanson, the only member of Jose Maria Olazabal's side not to have something to show for his efforts in Chicago last month, actually began his day's work with a bogey.
But then came a birdie at the long third, four in succession from the fifth and then three more in a row from the 11th.
The five-time European Tour winner added another at the 612-yard 15th, but now he faces a head-to-head battle with a player who won the Shanghai Masters on the same Lake Malaren course 12 months ago and is seeking his fifth victory of the season.
McIlroy turned in 32, picking up shots at the second, third, eighth and ninth, and then had a hat-trick of birdies from the 13th on another day of low scoring.
Ireland's Shane Lowry, winner of the Portugal Masters two weeks ago, also recorded a 64 and leapt from 48th to joint fourth with Justin Rose, another of the Medinah heroes, Donaldson and another Swede, Alex Noren.
Luke Donald, Martin Kaymer and Nicolas Colsaerts - three more of the European side - are among those one further back on seven under, but Olazabal himself slipped from fourth to 21st with a disappointing 72.