Sweden striker Zlatan Ibrahimovic's spectacular goal helped condemn France to the Group D runners-up spot and a Euro 2012 quarter-final against Spain.
France struggled to get going and Ola Toivonen went close for Sweden when his shot stuck the outside of the post.
Ibrahimovic eventually punished France when he brilliantly volleyed in from 15 yards from a Sebastian Larsson cross.
Olivier Giroud headed high for France before Larsson smashed in a close-range shot for Sweden's second.
"This is a hammer blow for France. Laurent Blanc is thinking 2010 all over again. I know they are in the quarter-finals but he doesn't fancy going in against the Spanish with this team and this attitude. There are big, big problems. It is always about attitude with the French. In the end, I think the French got away with only losing 2-0."
France's defeat allowed England, who beat Ukraine, to leapfrog them and take top spot in the group, and also saw central defender Philippe Mexes receive a yellow card meaning he is suspended for the game against Spain.
It was a first loss in 24 internationals for France and manager Laurent Blanc will not only be left to worry over a last-eight meeting with the European and world champions, but also a disappointing performance from his side.
Sweden had already been eliminated after defeats in their first two matches but they led early in the second half against both Ukraine and England before going on to lose.
Despite their exit, Sweden had given notice they were determined to finish on a high, with their players choosing to train last Sunday rather than taking up manager Erik Hamren's offer of a day off.
Les Bleus, though, did not heed the warning signs and began in a casual manner.
Sweden had two early chances with Toivonen nodding wide and Larsson heading straight at keeper Hugo Lloris.
Some uncertain Swedish defending resulted in keeper Andreas Isaksson beating away a Franck Ribery shot before Toivonen nearly stunned France.
France run ended
- The defeat means France's unbeaten 23-match run since a 1-0 home defeat to Belarus in September 2010 comes to an end. It was the longest current unbeaten run in world football.
A long ball was not dealt with by Mexes and it let in Toivonen, who rounded Lloris but hit the outside of the post from a tight angle.
Sweden's physicality was stifling the fluidity and flamboyance of the French and they were limited to long-range efforts, with one such strike from Hatem Ben Arfa going just too high.
Hamren's side were being roared on by a strong contingent of Swedish fans in Kiev and appeared determined to finally give them something to cheer.
The Swedes nearly went in front soon after half-time when substitute Christian Wilhelmsson kept the ball in wonderfully and crossed to the far post, with Lloris saving Larsson's angled shot.
But the French keeper had no chance after 54 minutes as Ibrahimovic unleashed a sublime scissor-kick volley into the bottom corner.
Wilhelmsson was causing France all sorts of problems and, after Ibrahimovic played him in, had a shot saved by the increasingly busy Lloris.
The keeper was quickly back in the thick of the action, going full stretch to tip the ball over the crossbar as Olof Mellberg flicked a shot at goal from an Ibrahimovic corner.
France finally awoke but Sweden stood firm with centre-backs Mellberg and Jonas Olsson straining every sinew as they lunged into tackles with vigour.
Giroud, linked with a move to Arsenal, put a free header wide and Sweden made sure of their first competitive win over France since 1969 when Larsson emphatically powered home a shot after Samuel Holmen's effort came off the crossbar.
Sorry, we were unable to load match stats, please try again.
Live Text Commentary
Full Time The referee brings the game to a close.90:00 +1:21 Goal scored
Goal! - Sebastian Larsson - Sweden 2 - 0 France Sebastian Larsson finds the back of the net with a goal from inside the penalty area low into the middle of the goal. Sweden 2-0 France.90:00 +0:29
The ball is sent over by Kim Kallstrom, Samuel Holmen takes a shot.88:55
Mathieu Debuchy concedes a free kick for a foul on Christian Wilhelmsson. Free kick crossed right-footed by Sebastian Larsson from left channel, save by Hugo Lloris.86:44
Gael Clichy crosses the ball. Karim Benzema takes a shot. Blocked by Martin Olsson. Outswinging corner taken right-footed by Florent Malouda from the right by-line, Jonas Olsson manages to make a clearance.86:02
Shot by Samuel Holmen from deep inside the penalty area misses to the right of the target.84:45
The ball is swung over by Gael Clichy.81:30
Outswinging corner taken by Florent Malouda from the right by-line, Olivier Giroud has an effort from just inside the box that misses to the left of the goal.81:30 Substitution
Substitution Yann M'Vila goes off and Olivier Giroud comes on.81:30
Jeremy Menez takes a shot. Save by Andreas Isaksson.80:48
Zlatan Ibrahimovic gives away a free kick for an unfair challenge on Philippe Mexes. Philippe Mexes takes the indirect free kick.80:06
Franck Ribery restarts play with the free kick.80:06 Booking
Booking Booking for Samuel Holmen.80:01
Samuel Holmen challenges Yann M'Vila unfairly and gives away a free kick.78:49
Unfair challenge on Pontus Wernbloom by Alou Diarra results in a free kick. Andreas Granqvist takes the indirect free kick.77:15 Substitution
Substitution (Sweden) makes a substitution, with Samuel Holmen coming on for Anders Svensson.77:15 Substitution
Substitution Pontus Wernbloom comes on in place of Ola Toivonen.76:51 Substitution
Substitution Samir Nasri leaves the field to be replaced by Jeremy Menez.75:53
Karim Benzema takes a shot. Blocked by Olof Mellberg. Outswinging corner taken by Samir Nasri from the right by-line, clearance made by Ola Toivonen.74:24
Centre by Christian Wilhelmsson.
Shot from just outside the box by Florent Malouda goes over the crossbar.70:55
Yann M'Vila takes a shot. Save by Andreas Isaksson. Samir Nasri decides to take the corner short.70:50
Centre by Mathieu Debuchy, blocked by Martin Olsson.69:53 Booking
Booking Anders Svensson is cautioned.68:59
Karim Benzema takes a shot. Blocked by Jonas Olsson.67:46
Olof Mellberg takes the free kick.67:46 Booking
Booking Philippe Mexes goes into the referee's book for unsporting behaviour.67:41
Philippe Mexes challenges Ola Toivonen unfairly and gives away a free kick.67:02
The assistant referee signals for offside against Christian Wilhelmsson. Indirect free kick taken by Mathieu Debuchy.66:17
Foul by Andreas Granqvist on Franck Ribery, free kick awarded. Franck Ribery takes the indirect free kick.65:08
Karim Benzema takes a shot. Blocked by Ola Toivonen. Foul by Alou Diarra on Zlatan Ibrahimovic, free kick awarded. Kim Kallstrom takes the free kick.64:41
The ball is crossed by Mathieu Debuchy, Martin Olsson gets a block in.63:46
Short corner worked by Gael Clichy, Samir Nasri has an effort at goal from deep inside the area missing to the right of the goal.63:01
Foul by Christian Wilhelmsson on Gael Clichy, free kick awarded. The free kick is swung in left-footed by Florent Malouda.61:41
The ball is delivered by Franck Ribery, blocked by Olof Mellberg.60:32
Jonas Olsson concedes a free kick for a foul on Franck Ribery. Mathieu Debuchy restarts play with the free kick.58:30
Karim Benzema takes the free kick.58:30 Substitution
Substitution Florent Malouda replaces Hatem Ben Arfa.58:30
Jonas Olsson gives away a free kick for an unfair challenge on Franck Ribery.56:35
Christian Wilhelmsson takes a shot. Hugo Lloris makes a save. Inswinging corner taken by Kim Kallstrom, Olof Mellberg takes a shot. Save made by Hugo Lloris. Outswinging corner taken by Sebastian Larsson from the right by-line, Adil Rami manages to make a clearance. Jonas Olsson takes a shot. Blocked by Philippe Mexes.56:21
Foul by Alou Diarra on Sebastian Larsson, free kick awarded. Kim Kallstrom restarts play with the free kick.56:05
The ball is swung over by Gael Clichy, clearance by Olof Mellberg.54:50
Free kick awarded for a foul by Sebastian Larsson on Alou Diarra. Samir Nasri takes the free kick.53:18
Sebastian Larsson provided the assist for the goal.53:18 Goal scored
Goal! - Zlatan Ibrahimovic - Sweden 1 - 0 France Zlatan Ibrahimovic scores a goal from inside the penalty box to the bottom left corner of the goal. Sweden 1-0 France.53:16
The ball is sent over by Sebastian Larsson,52:52
Christian Wilhelmsson sends in a cross, Sebastian Larsson takes a shot. Hugo Lloris makes a save.52:45
The ball is sent over by Sebastian Larsson.52:17
Alou Diarra takes a shot. Save made by Andreas Isaksson.51:17
Samir Nasri takes a short corner.50:02
Effort on goal by Karim Benzema from inside the penalty box misses to the right of the target.48:28
Christian Wilhelmsson fouled by Mathieu Debuchy, the ref awards a free kick. Free kick taken by Martin Olsson.47:04
Zlatan Ibrahimovic fouled by Yann M'Vila, the ref awards a free kick. The free kick is swung in right-footed by Sebastian Larsson. The referee blows for offside. Free kick taken by Mathieu Debuchy.46:19
Foul by Christian Wilhelmsson on Adil Rami, free kick awarded. Indirect free kick taken by Adil Rami.45:32
The referee blows for offside. Hugo Lloris takes the free kick.45:14 Substitution
Substitution Emir Bajrami leaves the field to be replaced by Christian Wilhelmsson.45:01
The referee blows his whistle to start the second half.45:00 +1:10 Half time
Half Time The first half comes to an end.45:00 +0:49
Ola Toivonen is flagged offside by the assistant referee. Hugo Lloris restarts play with the free kick.45:00 +0:25
Ola Toivonen is ruled offside. Indirect free kick taken by Hugo Lloris.44:13
Franck Ribery takes a shot. Jonas Olsson gets a block in. Corner taken by Samir Nasri from the left by-line played to the near post, Olof Mellberg manages to make a clearance.43:24
Ola Toivonen fouled by Adil Rami, the ref awards a free kick. Kim Kallstrom takes the free kick.43:09
Free kick awarded for a foul by Samir Nasri on Martin Olsson. Free kick taken by Martin Olsson.41:45
Karim Benzema has an effort at goal from a long way out that goes wide left.41:06
Free kick awarded for an unfair challenge on Franck Ribery by Olof Mellberg. Samir Nasri restarts play with the free kick.40:36
Alou Diarra concedes a free kick for a foul on Kim Kallstrom. Anders Svensson takes the indirect free kick.39:54
Philippe Mexes fouled by Ola Toivonen, the ref awards a free kick. Alou Diarra takes the free kick.34:48
Zlatan Ibrahimovic sends in a cross, clearance by Philippe Mexes.34:12
Hatem Ben Arfa takes a shot from a long way out clearing the bar.33:12
The ball is sent over by Emir Bajrami, clearance made by Philippe Mexes.32:00
Free kick awarded for an unfair challenge on Hugo Lloris by Ola Toivonen. Hugo Lloris takes the indirect free kick.30:24
Mathieu Debuchy produces a cross, save by Andreas Isaksson.30:06
The ball is swung over by Gael Clichy, Jonas Olsson manages to make a clearance.27:59
Franck Ribery fouled by Anders Svensson, the ref awards a free kick. Samir Nasri crosses the ball in from the free kick, clearance by Kim Kallstrom.26:23
Karim Benzema takes a shot. Jonas Olsson gets a block in.24:29
Free kick awarded for an unfair challenge on Franck Ribery by Sebastian Larsson. Strike on goal comes in from Adil Rami from the free kick.23:43
Martin Olsson concedes a free kick for a foul on Hatem Ben Arfa. Samir Nasri takes the indirect free kick.21:28
Foul by Hatem Ben Arfa on Emir Bajrami, free kick awarded. Emir Bajrami takes the free kick.18:46
Sebastian Larsson has an effort at goal from outside the box which misses left.18:34
The ball is delivered by Sebastian Larsson.17:49
Free kick awarded for a foul by Alou Diarra on Zlatan Ibrahimovic. Anders Svensson restarts play with the free kick.17:05
Centre by Franck Ribery, Shot from deep inside the area by Karim Benzema clears the crossbar.15:10
The referee gives a free kick against Sebastian Larsson for handball. Free kick taken by Gael Clichy.14:14
The referee blows for offside. Olof Mellberg restarts play with the free kick.13:06
Samir Nasri takes a inswinging corner from the right by-line played to the near post, clearance made by Jonas Olsson.12:02
Free kick awarded for an unfair challenge on Gael Clichy by Zlatan Ibrahimovic. Gael Clichy takes the indirect free kick.11:04
The ball is swung over by Mathieu Debuchy, Yann M'Vila has an effort at goal from outside the area missing to the wide left of the goal.9:52
Shot from close in by Ola Toivonen strikes the post.9:01
Effort by Hatem Ben Arfa from a long way out goes over the target.7:39
Franck Ribery takes a shot. Brilliant save by Andreas Isaksson.5:56
Unfair challenge on Ola Toivonen by Adil Rami results in a free kick. Strike on goal comes in from Sebastian Larsson from the free kick, Adil Rami makes a clearance.5:27
Hatem Ben Arfa has an effort from just inside the box that misses to the left of the goal.5:01
Mathieu Debuchy produces a cross, Jonas Olsson makes a clearance.3:41
Emir Bajrami produces a cross, Sebastian Larsson takes a shot. Hugo Lloris makes a comfortable save.2:44
The ball is swung over by Martin Olsson, Headed effort from inside the area by Ola Toivonen misses to the right of the goal.1:43
Free kick awarded for an unfair challenge on Ola Toivonen by Alou Diarra. Emir Bajrami takes the indirect free kick.0:47
Andreas Granqvist gives away a free kick for an unfair challenge on Franck Ribery. Samir Nasri restarts play with the free kick.0:00
The ref blows the whistle to begin the match.
Live data and text provided by our data suppliers