Contrairement aux dernières éditions, la neige est présente en abondance sur le parcours du rallye[3]. Ce dernier débute le jeudi soir par l'habituelle courte spéciale disputée sur l'hippodrome de Karlstad et remportée par Ott Tänak.
La journée de vendredi propose deux boucles identiques de trois spéciales disputées l'une le matin et l'autre l’après-midi, avec en conclusion un premier passage dans Torsby où se disputera la Power stage dimanche. Ott Tänak signe le meilleur temps d'entrée, mais c'est Thierry Neuville qui fait la meilleure impression en s'adjugeant l'ES3 avec plus de 10 s d'avance sur l'estonien, lui ravissant ainsi la tête de l'épreuve. La dernière spéciale de la matinée est remportée par Andreas Mikkelsen, si bien qu'à la pause, le norvégien est deuxième à 3 s 7 de Neuville, le finlandais Esapekka Lappi complétant le podium provisoire à 5 s 3. Surtout, le meneur au championnat Sébastien Ogier est relégué à 47 s 7, en difficulté à cause de sa position d'ouvreur qui l'oblige à affronter l’épaisse couche de poudreuse qui recouvre les pistes.
L'après-midi débute avec un scratch d'Hayden Paddon, puis sourit au pilote Craig Breen qui s'adjuge l'ES6, où Lappi a perdu plus de 30 secondes en restant coincé dans un mur de neige, et l'ES7. C'est en revanche la soupe à la grimace pour Sébastien Ogier, qui a concédé une minute lors des deux premières spéciales et 50 s 9 rien que sur l'ES7 ! Ceci s'explique par le fait que le français se débat avec les conditions neigeuses mais de plus avec les traces non adaptées laissées par les voitures des catégories inférieures lors des passages matinaux. Ainsi, à la fin de la journée, Ogier est 12e à près de trois minutes du meneur Neuville. Ce dernier emmène un triplé Hyundai, ses coéquipiers Mikkelsen et Paddon étant 2e et 3e à respectivement 4 s 9 et 12 s 1. Le top 5 est complété par les pilotes Citroën Craig Breen et Mads Østberg. Ott Tänak et Jari-Matti Latvala, qui suivaient Ogier dans l'ordre des départs, ont eux aussi souffert et pointent tous les deux à plus d'une minute.
La journée de samedi est elle aussi composée de deux boucles identiques de trois spéciales, auxquelles s'ajoutent à la fin deux courtes spéciales. Ott Tänak, loin au général, signe le meilleur temps des deux premières spéciales. Pendant ce temps, Thierry Neuville connaît des soucis avec sa palette de changement de vitesse. Cependant, il reste leader car ses coéquipiers n'ont pas plus de réussite puisque Mikkelsen perd près de 20 s dans l'ES10 alors que Paddon a lui aussi perdu du temps en restant coincé à l'intérieur d'une épingle. Ses soucis réglés, le belge remporte la 11e spéciale, si bien qu'il est toujours premier à la pause, tandis que Mikkelsen a reculé à la troisième place à 17 s 6, la deuxième étant désormais occupée par Craig Breen qui n’est qu'à 5 s 9 de Neuville. D'ailleurs, l'irlandais poursuit sur sa lancée en signant d'entrée un scratch et en se rapprochant à 4 s 6. Mais Neuville s'adjuge les deux spéciales suivantes et la dernière de la journée, si bien que samedi soir, le belge mène avec 22 s 7 d'avance sur Breen et 32 s 0 sur Mikkelsen. L'après-midi a néanmoins été moins limpide pour d'autres concurrents. Mads Østberg a perdu beaucoup de temps, peu en confiance avec l'équilibre de sa voiture. Son coéquipier Kris Meeke a lui tapé un mur de neige et a ensuite offert une situation peu courante. En effet, il a pu repartir mais au ralenti, si bien qu'Ott Tänak l'a rattrapé et en voulant le dépasser, ce dernier l’a percuté et est sorti de la route. L'estonien a perdu deux minutes dans l'affaire, tandis que Meeke a fini par abandonner. Ces péripéties permettent à Sébastien Ogier de pointer 10e à la fin de la journée.
Vient alors l’ultime journée du rallye, avec au programme deux passages dans la spéciale de Likenäs puis la super spéciale. Les Toyota dominent avec la première spéciale glanée par Tänak et les deux dernières remportées par Esapekka Lappi, qui remonte ainsi à la quatrième place au général et empoche les cinq points de la dernière spéciale. Sébastien Ogier la termine deuxième et prend quatre points, grâce à un coup stratégique : il s'est présenté en retard au départ afin de profiter d'une position plus favorable puis a bénéficié d'une pénalité volontairement encaissée par son coéquipier Elfyn Evans pour rester à la 10e place. Surtout, Thierry Neuville, copiloté par Nicolas Gilsoul, remporte son septième rallye WRC avec 19 s 8 d'avance sur Craig Breen et 28 s 3 sur Andreas Mikkelsen. Il est le troisième pilote non nordique à remporter l'épreuve, après les français Sébastien Loeb et Sébastien Ogier. Le pilote belge en profite aussi pour prendre la tête du championnat aux dépens de ce dernier. À noter en WRC-2 la victoire du japonais Takamoto Katsuta et en WRC-3 le succès du local Denis Rådström.