(CNN) -- Barcelona and Inter Milan both secured their place in the knock-out stage of the Champions League after achieving the Group F wins they needed on Wednesday night.
Holders Barcelona had to come from behind to win 2-1 at Dynamo Kiev, a result that ensured they finished top of the group.
Valeri Gazzaev's Kiev side got a perfect start when they took the lead inside the opening 90 seconds through Artem Milevskiy with the first attack of the game.
A Gerard Pique foul on Milevskiy gave Kiev a free-kick in a dangerous position near the corner of the box -- and Andriy Shevchenko's powerful cross-shot into the area took the slightest of glances off Milevskiy's head before escaping the clutches of goalkeeper Victor Valdes and rolling over the line.
But Barcelona fought back and drew level in the 33rd minute when Eric Abidal's low cross into the six-yard box was inch-perfect for Xavi and the Spanish playmaker slid in to divert the ball home.
A draw would have been enough to seal Barca's qualification, but they snatched all three points with four minutes remaining when Lionel Messi curled home a stunning 25-yard free-kick in off the underside of the crossbar for his 11th goal this season.
At the San Siro, Samuel Eto'o ended his drought in the competition this season by giving Italian Serie A winners Inter a 31st-minute lead, and they went on to defeat Russian champions Rubin Kazan 2-0.
Mario Balotelli's back-heel pass fell perfectly for the Cameroon striker, who fired home from inside the area to send Inter through, two points behind group winners Barca.
And Balotelli himself sealed the victory on the hour mark with a powerful free-kick. Despite the result, Rubin Kazan qualified for the Europea League by finishing third, a point ahead of Kiev.
Meanwhile, Greek champions Olympiacos secured the second qualifying place in Group H with a 1-0 win over an under-strength Arsenal side that had already qualified as group winners.
Olympiacos scored the only goal two minutes into the second half when the referee played a good advantage, allowing Brazilian Leonardo to latch onto the loose ball on the left side of the area before slotting through goalkeeper Lukasz Fabianski's legs.
In the other group match, Standard Liege goalkeeper Sinan Bolat headed home a dramatic last-gasp equalizer to earn the Belgian side a 1-1 home draw with AZ Alkmaar, and a place in the Europa League after finishing third.
Bolat, sent up for a final free-kick, nodded home Benjamin Nicaise's cross in the fifth minute of time added on to give the match a dramatic finale.
Dutch champions Alkmaar, who earlier in the day appointed Dick Advocaat as their new coach, took the lead four minutes before half time when Jeremain Lens latched onto Sebastien Pocognoli's cross from the left, steering the ball home from six yards out.