Dans la foulée de son succès en coupe, Ola Toivonen participe avec l'équipe de Suède au Championnat d'Europe 2012, disputé en Pologne et en Ukraine. Devenu membre régulier de la sélection, la présence de Toivonen pour sa première grande phase finale internationale est assurée avec l'annonce des joueurs retenus par Erik Hamrén, le . Lors du premier match de poule, disputé le par la Suède face à l'équipe d'Ukraine qui évolue à domicile au stade olympique de Kiev, Toivonen est titularisé en attaque aux côtés de Zlatan Ibrahimović, de Markus Rosenberg et de Sebastian Larsson. Malgré l'ouverture du score du premier cité, l'Ukraine s'impose finalement grâce à un doublé d'Andriy Chevtchenko. Positionné côté gauche, peu convaincant, Toivonen est remplacé à l'heure de jeu par Anders Svensson. Quatre jours plus tard, la Suède affronte l'Angleterre. Menés au score après un but d'Andy Carroll, les Suédois reviennent par un but contre son camp de Glen Johnson puis prennent l'avantage grâce à Olof Mellberg, mais Theo Walcott puis Danny Welbeck finissent par donner la victoire à l'Angleterre, et éliminent la Suède de la compétition. Toivonen, laissé sur le banc des remplaçants au profit de Johan Elmander, ne participe pas à la rencontre. Le , la Suède finit par s'offrir un succès dans sa poule, en dominant la France deux buts à zéro, grâce à des réalisations d'Ibrahimović et de Svensson. Revenant à un schéma expérimenté lors des éliminatoires, Erik Hamrén titularise Toivonen en pointe, au côté d'Ibrahimović. À ce poste, le joueur du PSV Eindhoven ne marque pas, mais l'une de ses frappes trouve le poteau lors d'un duel avec le gardien français Hugo Lloris en première mi-temps.