Barcelona have grabbed a spot in the last 16 of the Champions League, despite drawing a blank against Juventus at the Allianz Stadium in Turin on Wednesday night.
Neither team could break the deadlock, but Paulo Dybala had an opportunity to win it at the death with an injury-time strike, which was saved by Marc-Andre ter Stegen.
Juventus can still qualify for the knockout rounds as they sit second in Group D, but they need to defeat recently-eliminated Olympiacos in order to do so.
Relive the contest in Turin with Sports Mole's text commentary below.
An elite tournament like the Champions League will always throw up mouth-watering fixtures due to the calibre of teams involved. Tonight is one of those as Juventus host the Catalan giants, with qualification to the knockout rounds still up for grabs.
These two teams kicked off Group D in September at the Camp Nou, and it ended up being a joyous day for the home side as they earned a 3-0 victory. Lionel Messi led the way as he opened the scoring before Ivan Rakitic added a second.
Messi rounded off the victory with a goal in the 69th minute, but the group stage has not been plain sailing for the Spanish outfit, despite being unbeaten so far. An own goal from Sporting Lisbon's Sebastien Coates gifted Barca a slender win in Portugal during their second group encounter.
Things went more smoothly at home to Olympiacos thanks to goals from Messi, Lucas Digne and an own goal from Dimitrios Nikolaou, who tried to redeem himself in the dying minutes of the clash, but it was too late to inspire a comeback.
The Greek outfit tried to exact revenge in the reverse fixture, and even though they failed to cause a shock by collecting three points, they still held Ernesto Valverde's side to a goalless draw.
Barcelona may be leading the group with a three-point advantage, there is a hint of anxiety due to the manner of results so far in the competition. The status of this club means that they should be dominating every match, but that has not been the case so far.
As for Juventus, they have also had some tests along the way, and they needed to make a statement after losing 3-0 to Barcelona in their opening Group D fixture. Massimiliano Allegri managed to answer the demand as his team secured a 2-0 triumph over Olympiacos, but they did not find the breakthrough until the 69th minute.
Gonzalo Higuain and Mario Mandzukic were the men on the scoresheet, and the latter added to his tally in the following game against Sporting Lisbon as Juve sealed a 2-1 victory. In the reverse fixture, though, the Italian giants were held to a 1-1 draw by the Portuguese side.
Inside the first 20 minutes, Bruno Cesar put the hosts ahead and they looked on course for a surprise victory until Higuain equalised with 11 minutes of normal time remaining. The results so far for both clubs sets tonight's encounter up nicely.
So, without further ado, let's bring you the lineups for both sides...
JUVENTUS XI: Buffon; Rugani, Barzagli, Benatia; Cuadrado, Khedira, Pjanic, Sandro; Dybala, Costa; Higuain
BARCELONA XI: Ter Stegen; Semedo, Pique, Umtiti, Digne; Rakitic, Busquets, Paulinho, Iniesta; Deulofeu, Suarez
As expected, goalkeeper Gianluigi Buffon returns to the first XI after starting on the bench in last weekend's defeat to Sampdoria. The same goes for Andrea Barzagli, who comes back into the defence. Paul Dybala is another player who returns to the fray, while Gonzalo Higuain starts up front.
A thigh injury has forced Giorgio Chiellini out of the lineup, which means that Medhi Benatia has come in to replace the defender.
The huge surprise coming from Barcelona is that Lionel Messi is not in the starting lineup this evening! Gerard Deulofeu has been preferred up top with Luis Suarez. Paulinho has also been given the nod ahead of Paco Alcacer, While Lucas Digne replaces Jordi Alba. Gerard Pique, who is serving a domestic ban, starts at the back for the Catalan giants.
The demand on Barcelona every season is huge due to their glittering history and even though the club are dominating, there is an air of uncertainty, particularly around Lionel Messi. Rumours will only fuel now that he has been left out of the first XI. Recent reports claimed that the five-time Ballon d'Or winner has been disappointed with Valverde's tactics, which has at times, compromised Barcelona's traditional free-flowing style.
In most cases, clubs try to tie down their players early before they reach the final 12 months of their contracts. You would think that a player of Messi's calibre would have had his deal sorted out by now, but as it stands, the Argentine international will become a free agent in the summer.
Given that the attacking star is widely regarded as one of the world's best footballers, Barcelona cannot allow him to leave the Camp Nou for nothing. If they want to keep hold of the 30-year-old then they need to move quickly as he will be eligible to discuss a deal with another club in January.
Rumours have rumbled that Messi has already agreed fresh terms with the successful club, but a recent report in Diaro Gol has claimed that the forward rejected a phone call from one of Barcelona's directors.
It would be a huge shock if Messi were to leave the club where he has won a staggering 29 trophies during his career so far, but since Neymar's sensational switch to Paris Saint-Germain in the summer, we can never say never!
With regards to results, things are going swimmingly for Barcelona given that they sit at the top of La Liga with a four-point advantage over Valencia, while the Catalan giants' rivals Real Madrid sit 10 points adrift in third place.
Valverde's side have won 11 of their 12 games and the other, which was against Atletico Madrid, ended in a draw. The team have conceded just four league goals so far in the campaign and have hit an impressive 33 at the other end.
Things look different for Juventus, though, as they are currently third in Serie A, but it is tight at the top, with just five points separating leaders Napoli with fourth-placed Roma. Allegri's side have won 10 of their 13 league matches, but they have kept just five clean sheets.
Juve head into tonight's match on the back of a poor result from Serie A as they were beaten 3-2 by Sampdoria on away soil. The visitors were stunned as they went 3-0 down, and with 10 minutes remaining, Higuain pulled a goal back and Paulo Dybala netted from the penalty spot. Despite launching a comeback, it was too late for the Italian side to make it count.
DID YOU KNOW? Juventus are unbeaten in their last eight matches against La Liga opposition. Given Barcelona's current form, many have probably tipped the Catalan club to get the result that they need tonight, but Juve's record of 15 wins, eight draws and two defeats should not be sniffed at.
STAT! While we may be a few games away from the quarter-finals, it is worth noting that in the last two seasons, Barcelona have exited the tournament at that stage of the competition. In the 2016-17 campaign, Juventus were the ones to cause the damage, while Atletico dumped them out in the previous season.
HEAD TO HEAD: Well, we cannot go much further without mentioning last season's meeting. Juventus caused a huge upset in the last eight when they earned a 3-0 triumph in Turin. Dybala scored twice, while Giorgio Chiellini rounded off the win in the second half.
Barcelona had it all to do in the return leg at the Camp Nou, but despite their wealth of attacking options, they were unable to break down the Italian side, who executed their plan to perfection.
The result was revenge for when Barcelona defeated the Turin-based club in the Champions League final in the 2014-15 season. The Spanish side triumphed 3-1 thanks to goals from Rakitic, Luis Suarez and Neymar.
In the pair's previous 10 meetings, Barcelona edge it with four wins compared to Juventus' three, while the remaining games ended in draws. During that time, the Italian outfit scored 10 goals and Barca found the back of the net 13 times.
PREDICTION: Juventus have certainly shown in the past that they can spring a surprise on Barcelona, but tonight's visiting team are in a rich vein of form and completely dominated Juve in their opening group fixture earlier in the season. The hosts will have their chances, but expect the Spanish giants to qualify.
Both teams have made their way onto the field. The Champions League music has blared from the sound system and we are moments away from kickoff.
KICKOFF! Juventus get us underway! Both players are in their traditional strips this evening.
Rakitic manages to cut out a pass and poke it over the top searching for Suarez, but the hosts manage to track the ball and the Barcelona star cannot get a touch.
CHANCE! Douglas Costa showing some early intent as he leaves a handful of Barcelona players in his wake before knocking the ball out wide to Cuadrado, who finds Douglas Costa in the centre of the box. The Bayern Munich loanee takes a shot, but it's stopped by Ter Stegen.
At the other end, Barca play the ball around the edge of the box before cutting it back for Paulinho, who goes for glory but ends up launching it high over the crossbar after catching it wrong.
Juventus go on the attack and it's Costa again as he storms down the left-hand side and sends a low cross into the centre of the box, but Pique cuts it out and clears the danger.
Cuadrado loses possession in the middle of the park, which gives Barcelona some time to keep hold of the ball and launch an attack. In the end, the move breaks down.
Suarez wins a free kick after getting bundled by Benatia. At the moment, Juventus are in control of this game and not allowing Barcelona to get a foothold in the midfield. Early days, mind!
The Spanish side are taking the patient approach, but they burst into life when Suarez and Paulinho link up for a neat one-two, which results in the latter unleashing a shot, but it drifts wide.
Barcelona are seeing more of the ball now, but they are struggling to break down Juventus' defence. Suarez has not been his scintillating self this season and he has been quiet so far tonight.
Juve snatch possession in the middle of the field and Cuadrado charges down the right before delivering in a low cross that evades everyone. The hosts pick up the loose ball, though, and Costa crosses it in into the area, but the move breaks down.
Juventus lose the ball on the edge of the area and Deulofeu tries to capitalise by driving to the byline before attempting a cross, but the hosts cut it out.
Mistake by Cuadrado as he opts to head back towards Buffon when he really should have chested it down. The ball creeps towards the top corner but ends up bouncing to safety.
SAVE! A rare mistake from Iniesta as he loses the ball, which gives Dybala a chance to shoot at goal. He does so, but Ter Stegan makes the stop.
Cuadrado gets the ball down the right again, but pressure from Iniesta forces him to switch play back to the defence.
BOOKING! The first caution of the game is give to Pjanic for clipping Iniesta from behind.
OFF THE POST! Fantastic free kick delivery from Rakitic as it enters the box with pace and bounces before bouncing off the post. Paulinho reacts with a header, but he misses the target.
Deulofeu kicks out at Sandro in an attempt to nick the ball and the referee blows up for a free kick. It looks like Pjanic is lining up to take it...
The set piece is delivered into the box and blocked by Suarez before getting swept outfield. Barcelona have come closest to scoring, but neither side are really dominating at this stage.
Juventus go for the long ball, aiming for Higuain, who fails to connect. The hosts are probing, but they have failed to register a shot in the last 10 or so minutes.
Suarez stays out wide and plays the ball back to Iniesta, who sends the ball over the top looking for Suarez, but its cut out.
BOOKING! Some playacting from Paulinho as he receives a yellow card for diving for a penalty. Pjanic had a foot out, but he didn't make any contact. Right decision from the referee.
Digne and Umtiti are receiving treatment from the medical team after colliding on the edge of the box. It seems, though, that the pair are good enough to carry on.
Umtiti is unhappy here after getting caught in the face by Khedira. The referee has a word with the Juventus midfielder, but replays show it wasn't intentional.
Barcelona turn the screw as Deulofeu plays in Semedo, who charges to the byline before cutting it back into the centre of the box, but the danger is cleared.
CHANCE! Cuadrado cuts inside after receiving the ball from Higuain. The former Chelsea man plays a one-two with Dybala, but on the return, Cuadrado's first-time shot skies over the crossbar.
Umtiti plays a long ball searching for Suarez, but the Uruguayan runs offside while trying to get on the end of the pass. It's been a quiet night for the Barcelona attacker so far.
As mentioned, Barcelona need a draw to qualify for the last 16, so perhaps that is why the team are not probing as much. Juventus' play has seemed to slow down in the las few minutes.
Rakitic's pass gets cut out and Juventus launch a counter attack. The play is switched to the left for Sandro, but it's too far ahead of the player to reach.
Iniesta wins a free kick in the middle of the pitch after getting a slight nick off Higuain. The home fans are less than impressed with the referee's decision.
CHANCE! Dybala finds Sandro in acres of space on the left. He passes to Dybala just outside of the area. The forward makes his way around three Barcelona players before unleashing a left-footed shot towards the far post, but it goes over the bar.
Barcelona knock the ball around the danger area before it drops to Suarez, who shoots from long range, but it does little to trouble Buffon and bobbles wide.
HALF-TIME: JUVENTUS 0-0 BARCELONA
There is nothing to separate these two sides at the moment and it has been somewhat of a chess match at the Allianz Stadium in Turin. Barcelona have been patient for large spells of the game as they tried to keep the ball and play from the back. Juve came out the blocks initially, but they failed to maintain a dangerous threat throughout the first 45 minutes.
Douglas Costa and Paulo Dybala have been the standout men for Juventus so far, with both displaying determined runs and threat in the box, but so far Marc-Andre ter Stegen has been relatively comfortable in goal. The same can be said of Gianluigi Buffon, who was only really troubled with Ivan Rakitic's free kick bounced before smashing off the post.
As it stands, Barcelona have a spot in the knockout rounds of the tournament. Remember, the Catalan giants need a draw to progress. Juventus (might) have something to say about that when the game resumes for the second half. If the Italian side do go in front, Barcelona have the substitute of all substitutes to bring on - Lionel Messi.
RESTART! The visitors get the second half underway! Will we see a goal in the next 45 minutes? Here's hoping!
Cuadrado is away on goal if he connects to the long ball, but Umtiti tracks it perfectly and makes a quick intervention.
Juventus lose the ball n the middle of the park and Iniesta tries to capitalise. He plays it out wide to Suarez, who switches feet, but ends up tumbling to the ground. Nothing given, but moments later Khedira brings down Iniesta and the referee blows up for a foul.
CHANCE! Suarez takes the free kick and he manages to swing it over the wall, with the help of a slight deflection and it ball dips just over the bar.
Barcelona get two corners in quick succession, but Juventus manage to handle both of them. The visitors seem very much in control at this stage.
Maybe the pace of this game is about to change as Messi gets himself ready to come on from the touchline.
Iniesta knocks the ball forward for Suarez, who has hit back to goal and plays the return pass, but the midfielder fails to get on the end of it. It's all Barcelona now.
Juventus fans are not happy as the team kick the ball ou of play for Suarez, who is on the ground holding his face, but replays show there was nothing in Benatia's apparent foul.
BARCELONA SUB: Here he comes! Deulofeu makes way for star man Messi.
Pique launches a long ball towards Messi, who is up front on his own, but the ball is just short of the target and Juventus manage to regain possession.
A rare move from Juventus in this half as the ball is whipped into the box to find Rugani at the far post, but his header across goal is eventually cleared.
Juventus pack into their own half as Barcelona slow the game down by knocking it around the pitch. Umtiti plays the ball out wide to Digne, but he gets closed down and the ball nicked off him.
Some neat play on the outside of the box ends with the ball at Higuain's feet. The Argentine turns before unleashing a shot towards goal, but the ball drops wide.
Free kick for Barcelona after Suarez is brought down by Benatia after receiving a pass from Messi from the outside of the five-time Ballon d'Or winner's boot.
CHANCE! Messi takes the free kick - as expected - and he bends it over the top from 25 yards out, but the ball dips over the bar.
JUVENTUS SUB: The hosts make a change as Pjanic is withdrawn and replaced with Bentancur.
Some more playacting from Paulinho as he ridiculously goes to ground for no reason whatsoever... The referee doesn't seem to notice. It would be hugely embarrassing if the Brazilian got sent off for two dives!
CHANCE! Oh dear! Digne has the perfect opportunity to put Barcelona in front as he darts into the box and is one on one with the keeper, but he ends up squaring the ball and the play breaks down.
JUVENTUS SUB: It is the end of the night for Cuadrado as he comes off for Marchisio.
BOOKING! Sandro goes into the referee's book for trying to pull Semedo's arm. It's a soft one, but it gives Messi an opportunity from a free kick...
The set piece is not one of Messi's best, though, as he fails to beat the first man and Marchisio uses his body to clear.
The home fans are furious as the referee opts against awarding Juventus a penalty after a slight nudge from Pique on Costa. It could have gone either way!
More frustration for the home support as Barcelona receive a free kick in their own half after Bentancur caught Semedo on the edge of the box.
Another free kick for Barcelona as Suarez goes to ground after a sliding lunge from Sandro. The former Liverpool man has hit the deck numerous times this evening!
Marchisio, with his back to goal, passes to Dybala who charges down the near side before getting caught by an incoming Suarez.
BARCELONA SUB: Iniesta receives a standing ovation as he makes way for Alba.
CHANCE! Costa finds space and drives towards the box before striking low, but it's a poor effort and fails to trouble Ter Stegen as the ball goes wide. He should have done much better, particularly with the space he had.
JUVENTUS SUB: Matuidi enters the field of play for the remaining minutes. Costa is the man to be taken off.
BOOKING! An obvious yellow card for Digne as he grapples Dybala before bringing him to ground.
Time is running out for a winner here. It seems that Barcelona are on course to secure a place in the knockout rounds.
BOOKING! A yellow card for Pique as he gets too tight to Matuidi and fouls him as a result.
The free kick is swung into the box, but Busquets is there to head the danger, but Juventus are trying to ramp up the attack in these dying moments.
SAVE! What a crucial stop! Sandro cuts the ball across to Dybala, who unleashes a swinging first-time shot and forces Ter Stegen to make a stop at the bottom left corner. That would have won it for Juve!
FULL-TIME: JUVENTUS 0-0 BARCELONA
So, there we have it! Barcelona have made it into the last 16 of the Champions League and have also sealed top spot in Group D with one game to spare. Juventus are still in with a chance of making it into the knockout rounds, but they need to defeat Olympiacos, who were eliminated from Europe this evening.
The game panned out like a chess match, but neither side could find that much-wanted goal. Dybala could have won it at the death with a first-time shot, but Ter Stegen managed to keep him out. Thank you for joining us this evening, and until next time, goodbye!