The Toyota driver led Norwegian Andreas Mikkelsen, in a Hyundai, and Citroen's Finnish driver Esapekka Lappi who were tied 54.5 seconds behind.
Belgian Thierry Neuville, also in a Hyundai, was a further 2.3 adrift.
Sunday's final leg involves just three stages and a total 51.3km of timed action.
French rider Cherpin dies from injuries in Dakar rally crash
15/01/2021 AT 09:23
Overnight leader Teemu Suninen lost more than a minute after going into a snow bank early in the day, handing the lead to Tanak. The M-Sport Ford driver later crashed into a tree and retired.
Ott Tanak and Martin Javeoja from Estonia in Toyota Yaris WRC compete during day 2 of the second round of the FIA World Rally Championship, Rally Sweden 2019, in Karlstad, on February 15, 2019
Image credit: Getty Images
"This afternoon the grip changed at every corner and you never knew what to expect. Hopefully we can control things a bit tomorrow, but it’s never an easy ride," commented Tanak.
Six-times world champion Sebastien Ogier, winner of the Monte Carlo opener last month, returned to the fray after getting his Citroen stuck in a snow bank and retiring on Friday.
The Frenchman won three of the day's stages but was way back in 33rd place.
Indian rider Santosh flown to hospital after Dakar Rally crash
06/01/2021 AT 19:16
Ogier set for seventh title after Evans crashes in Monza
05/12/2020 AT 15:18