Overnight leader Ogier tumbled to 20th when he went off into a snow bank on the Lesjofers stage, meaning Mikkelsen and Latvala were fighting for the lead.
Mikkelsen initially took his advantage up to 3.3s, but then had a high-speed trip through a ditch on Rammen.
He minimised the time loss, falling only 1.8s behind Latvala in the overall standings, and then trimmed 0.2s from that gap on the short Hagfors stage before service.
Citroen's Mads Ostberg has pulled clear of Mikko Hirvonen and Ott Tanak in the third place battle, with Tanak having fallen behind his two rivals with a spin on the day's first stage.
Returnee Tanak admitted that his World Rally Championship novice co-driver Raigo Molder's inexperience was showing on the faster stages, where pace notes were not as rapid as required.
Thierry Neuville damaged his Hyundai on a rock on SS8 and had to retire, but his team-mate Juho Hanninen has kept the other i20 in sixth place.
Pontus Tidemand and Kris Meeke have swapped places repeatedly through the morning and are now seventh and eighth, with Meeke reporting an unspecified issue with his Citroen on the way to service.
Henning Solberg lost time with a spin before making amends by winning the Hagfors stage, leaving him ninth, ahead of M-Sport team-mates Robert Kubica and Elfyn Evans, who are just 0.1s apart in 10th and 11th.
Ogier responded to his mistake by immediately taking two fastest stage times, bringing him back up to 13th. He is 1m33s away from the points.
Follow Rally Sweden as it happens on Race Centre Live.
- Sports & Recreation
- Mads Ostberg