L'Empereur français s'apprête à reprendre l'offensive le , mais c'est Benningsen qui prend l'initiative le 3 : le corps de Ney fait face ce jour-là à , devant lesquels il doit battre en retraite rapidement sur (bataille de Guttstadt). Napoléon, accompagné des corps de Davout et de Lannes, ainsi que de la garde impériale, vient le soutenir ; il rappelle également Soult et Bernadotte, également attaqués le 3 à et Spanden. Bernadotte, blessé, est remplacé par Victor à la tête du , et l'armée passe la Pasłęka, tandis que la cavalerie de Murat, en avant, attaque l'arrière-garde de Bagration à Guttstadt le 9. Le 10, Murat et Soult attaquent seuls l'armée russe à Heilsberg, où elle s'est retranchée, laissant à nouveau l'initiative à l'armée française. Lannes, arrivant dans la nuit, reçoit l'ordre de déborder la droite des Russes. Le lendemain, Benningsen fait évacuer Heilsberg, et passe sur la rive droite de l'Alle, ouvrant la route vers Königsberg, ville royale de Prusse.