Portugal booked their spot in the last 16 of the World Cup with a game to spare after a battling 2-0 win over Uruguay.
Uruguay always had the look of a team who were going to relish playing a spoiling game and that is exactly how the first half set off. Portugal dominated the ball but they found it hard to break down the disciplined and physical South Americans.
Half-chances came and went for Portugal, and William Carvalho would have expected to do better with an early long-range effort after fine hold-up play by Cristiano Ronaldo.
Ronaldo himself got a glimpse of goal when he chested down a cross at the back post, but he was crowded out before he could get a shot away.
Although Portugal had more of the ball, the best chance of the first half fell to Uruguay. The brilliantly dynamic Rodrigo Bentancur was able to wriggle through the Portuguese defence and found himself one-on-one with Diogo Costa. However, his composure abandoned him at the crucial moment and the Porto stopper was able to scramble it clear.
Portugal started the second half much more brightly, and Joao Felix found himself in a great position in the inside left channel to open the scoring. However, he couldn't find the target.
That proved to be the warning shot, though, and just a couple minutes later Portugal had the lead. Bruno Fernandes clipped a delicious ball into the box and Ronaldo looked to get the slightest of touches on it. It didn't look like he did, though, despite his celebrations, and Fernandes' cross dropped straight in.
Uruguay then had to abandon their spoiling and come out a lot more, although they took a while to really find their stride with it.
It wasn't until Maximiliano Gomez and Luis Suarez replaced Darwin Nunez and Edinson Cavani up front that they were able to build pressure. Gomez rattled the post with a fine effort from outside the box, while Suarez could only find the side netting when the ball dropped to him in the six-yard box.
Another substitute, Giorgian De Arrascaeta, was next to miss a great chance, as he failed to beat Costa when through on goal.
It all looked set up for a grandstand finish, but VAR had other ideas. Jose Gimenez was adjudged to have handballed in the area while falling backwards. It was highly contested, but Fernandes didn't care and he converted from the spot to put Portugal into the knockout stage.
Fernandes even hunted a hat-trick in the dying seconds of the game, but the post denied him.
For the stats lovers, it was Portugal's first World Cup win over South American opposition since they beat Brazil at Goodison Park in 1966.
1. Portugal (4-3-3)
GK: Diogo Costa - 7/10 - Came up big with a crucial save in the first half.
RB: Joao Cancelo - 6/10 - Neither marauding nor maddening.
CB: Ruben Dias - 7/10 - Quality and assured.
CB: Pepe - 6/10 - His nous was important on the night, although rarely felt all that safe.
LB: Nuno Mendes - 5/10 - Didn't do anything wrong but didn't influence the game either. Off with an injury in the first half.
CM: Ruben Neves - 5/10 - Did okay but didn't seem to fancy the physical stuff as much as others.
CM: William Carvalho - 6/10 - Important physical presence in the midfield.
CM: Bruno Fernandes - 7/10 - Scored the opener, although he might have to fight Ronaldo for it. Literally. Nearly had a hat-trick.
RM: Bernardo Silva - 6/10 - Typically neat and tidy, but not much more.
CF: Cristiano Ronaldo - 7/10 - He might be a fading force, but he was still a thorn in the side of Uruguay's experienced defence all night.
LF: Joao Felix - 6/10 - Always threatened to do something but never actually did.
SUB: Raphaël Guerreiro (42' for Mendes) - 6/10 - Slotted in nicely.
SUB: Rafael Leao (69' for Neves) - 6/10 - Lively.
Manager: Fernando Santos - 7/10 - Wasn't pretty but got his team through a tough test.
2. Uruguay (3-5-2)
GK: Sergio Roche - 6/10 - Well-protected in the main by the Uruguay defence until they left him horribly exposed for the first goal.
CB: Jose Gimenez - 5/10 - Out of step with his central defensive partners too often but very unfortunate to give away a penalty.
CB Diego Godin - 6/10 - A fading force. His brain is still sneaky but the body isn't quite as willing.
CB: Sebastian Coates - 6/10 - Dependable but not dominant.
RM: Mathias Olivera - 6/10 - Had the energy and the will but not the quality.
CM: Federico Valverde - 6/10 - Some way short of his best.
CM: Rodrigo Bentancur - 7/10 - Uruguay's best player on the night for sure.
CM: Matias Vecino - 5/10 - Never stamped his authority on the game.
LM: Guillermo Varela - 5/10 - Didn't really impress at all.
CF: Darwin Nunez - 5/10 - Will be disappointed with his performance.
CF: Edinson Cavani - 5/10 - Not at his best but poorly supported.
SUB: Giorgian De Arrascaeta (62' for Vecino) - 6/10 - Made a difference but missed his big chance in front of goal.
SUB: Facundo Pellistri (62' for Godin) - 6/10 - Injected some pace and purpose into the Uruguay attack, although little product.
SUB: Maximiliano Gomez (72' for Nunez) - 6/10 - Rattled the woodwork and unlucky not to score.
SUB: Luis Suarez (72' for Cavani) - 6/10 - Missed a great chance from inside the six-yard box.
SUB: Matias Vina (86' for Oliviera) - N/A
Manager: Diego Alonso - 6/10 - Bit unlucky as his subs should have got him something.