Wednesday night saw the Champions League group stage come to an end, with Atalanta stealing the show and an unlikely spot in the last-16.
But while the plucky Italians only just scraped into the knockout stage, plenty of other teams eased their way through in style.
Here, Sportsmail takes a closer look back at the group stage to pick a best XI.
Goalkeeper: Keylor Navas (PSG)
Paris Saint-Germain boasted the best defensive record of any side in this season’s Champions League group stage – and Navas was at the heart of it.
The former Real Madrid shot-stopper only conceded twice in five appearances, and both of those came against his old club in a 2-2 draw at the Bernabeu.
He still put in an excellent display that night, with his four clean sheets from his first four games having already put PSG in complete control of Group A.
PSG goalkeeper Keylor Navas has been the standout shot-stopper in the Champions League
Right back: Achraf Hakimi (Borussia Dortmund)
Hakimi has played all but seven minutes of Borussia Dortmund’s European campaign so far, and if his early performances are anything to go by, he’ll be key when the knockout stage begins in February.
The defender, who is on loan from Real Madrid, managed to score two braces in six games, helping the German giants to crucial wins over Slavia Prague and Inter Milan.
At the other end of the pitch, Hakimi contributed to two clean sheets – one against Lionel Messi and Barcelona – as Dortmund finished second in Group F.
Borussia Dortmund’s Achraf Hakimi (left) has contributed at both ends of the pitch this season
Centre back: Leonardo Bonucci (Juventus)
Without his regular partner, Giorgio Chiellini, Bonucci ensured that Juventus’ defence remained as strong as ever in what could’ve been a tricky group stage.
The veteran Italian helped summer signing Matthijs de Ligt settle into Maurizio Sarri’s back four and kept two clean sheets in five games, including the crucial 1-0 home win over Atletico Madrid.
He was rested for Wednesday night’s 2-0 win away at Bayer Leverkusen, but is sure to be back in the team when the last-16 rolls around.
Leonardo Bonucci (right) tussles with Atletico Madrid’s Saul Niguez during the group stage
Centre back: Thiago Silva (PSG)
A member of PSG’s rock solid defence partners Bonucci in our team of the group stage, and it’s another veteran in the shape of Silva.
The Brazilian was in superb form during his five appearances, keeping five clean sheets as the French champions beat Real Madrid to top spot.
Like Navas and Bonucci, Silva was rested for Tuesday’s 5-0 thrashing of Galatasaray as Thomas Tuchel looks to keep him fresh for the challenges ahead.
PSG captain Thiago Silva heads the ball away from danger as Karim Benzema watches on
Left back: Juan Bernat (PSG)
PSG’s domination at the back continues with the inclusion of Bernat, who enjoyed a brilliant group stage at left back.
The diminutive Spaniard started all six matches and kept five clean sheets, conceding just twice in the 2-2 draw away at Real Madrid.
He also laid on two assists in PSG’s 3-0 demolition of Los Blancos at the Parc des Princes, a result which set the Ligue 1 side on their way to qualification.
Juan Bernat has shone for PSG, playing all six group games while keeping five clean sheets
Right wing: Hakim Ziyech (Ajax)
Ajax may have been dumped out at the group stage this season, but in Ziyech they had another shining light.
The talented wideman scored twice in six games – including a brilliant strike away at Valencia – and made three assists during the thrilling 4-4 with Chelsea at Stamford Bridge.
Ziyech also laid on goals for his team-mates home and away against Lille, which will have only increased the interest in him from elsewhere.
Hakim Ziyech (left), pictured in action against Valencia, was brilliant in the group stage
Central midfield: Toni Kroos (Real Madrid)
Real Madrid’s Mr Reliable continued in the same vein in the group stage, providing Zinedine Zidane with a calming presence in midfield.
After a difficult first night against PSG, Kroos bounced back with four strong displays, which included scoring the only goal in a win against Galatasaray.
Two assists and a much-improved display in the reserve fixture against PSG cement his place in our team.
Toni Kroos plays a long-range pass during Real Madrid’s thrilling 2-2 draw at home against PSG
Central midfield: Ilkay Gundogan (Manchester City)
Kroos is joined in midfield by his international team-mate Gundogan, who was an ever-present in Manchester City’s unbeaten qualification from Group C.
As well as playing every minute, the German struck home and away against Shakhtar Donetsk, and also got himself two assists.
He may have only started 10 Premier League games this season, but he certainly proved he is a man Pep Guardiola can rely on in Europe.
Ilkay Gundogan tries to avoid a tackle from Dinamo Zagreb’s Bruno Petkovic on Wednesday
Left wing: Raheem Sterling (Manchester City)
Although his goalscoring form has slowed in recent weeks, Sterling began his Champions League campaign in electric form.
After playing in a 3-0 win over Shakhtar, the England star came off the bench to score and notch an assist in just 34 minutes against Dinamo Zagreb.
Sterling scored a hat-trick against Atalanta and assisted the other two goals in a 5-1 mauling, before netting his fifth goal in the competition when the Italians visited the Etihad in November.
Raheem Sterling shoots during Manchester City’s clash with Dinamo Zagreb on Wednesday
Striker: Erling Haaland (Red Bull Salzburg)
After shining in Austria, Haaland announced himself on the biggest stage with his performances in the Champions League.
The prolific 19-year-old struck eight times in just four starts and a sub appearance, netting a hat-trick in Red Bull Salzburg’s opener against Genk and a double during a 3-2 defeat by Napoli.
A goal at Anfield also caught the eye as he smashed a number of records on his way to becoming the most-wanted teenager in Europe.
Erling Haaland, pictured in action against Liverpool, scored eight goals in just five games
Striker: Robert Lewandowski (Bayern Munich)
Lewandowski has transferred his incredible Bundesliga form to the Champions League this term, scoring 10 times in just five games.
The Poland international got on the scoresheet once against Red Star Belgrade and Olympiacos at home, while adding braces away at Tottenham and in Greece.
But his standout display came away in Serbia, when he netted four times in just 77 minutes as Bayern Munich ran riot to finish top of their group.
Sportsmail trawled back over the Champions League group stage in order to pick a best XI