Morocco secured their greatest-ever victory after edging past Portugal to become the first African team to make the World Cup semi-finals.
The Atlas Lions survived late pressure from the Selecao after grabbing the lead through Youssef En-Nesyri’s first-half header.
The goal came from Yahia Attiyat Allah standing a ball up to the penalty spot for the Sevilla striker to jump high and plant a header beyond the onrushing Diogo Costa into the empty net.
It was almost two after the second half resumed, Hakim Ziyech’s tantalising delivery getting the thinnest of touches from Jawad El Yamiq with the ball deflecting back out off Costa.
Bruno Fernandes went close with a thumping drive that beat Bounou but sailed just over the bar. It was one-way traffic as the Selecao pushed for an equaliser; Felix combining with substitute Cristiano Ronaldo before a powerful, curling effort forced Bounou into a brilliant save.
Walid Cheddira was sent off in stoppage time after collecting two yellow cards in two minutes. It could have been 2-0 late on but for Zakaria Aboukhlal’s lack of composure when sent through on goal one-on-one.
And Portugal almost punished Morocco with Pepe free at the back post and placing a header inches wide of the near post.
Here are the player ratings from the Al Thumama Stadium:
Morocco player ratings
Bounou 8: Claimed well but was nearly beaten by Fernandes’ audacious effort from a tight angle, the save to deny Felix was brilliant.
Achraf 8: Held down Felix when he drifted to the left flank and then sprung counter-attacks with powerful surges from deep.
Jawad Yamiq 6: Blocked well from Guerreiro’s volley, should score from Ziyech’s whipped free-kick early in the second half.
Saiss 6: Solid at the back, defended Ramos well before being substituted.
Attiyat-Allah 7: Got forward well early on and then delivered the assist for En Nesyri.
Amrabat 6: Disciplined and combative once again, the heartbeat of this team.
Amallah 6: Excellent distribution out to Ziyech, but blazed over after getting free 12 yards from goal.
Ounahi 7: Lovely feet and interchange to help Morocco play out from the back, but lacked composure during a dangerous counter-attack, striking well over the bar.
Ziyech 7: Dangerous impact from the right, finding space and firing at goal or whipping dangerous crosses into the box. Brilliant ball from the free-kick early in the second half.
Boufal 6: Juggled the ball and carried it out nicely, sparked a very dangerous counter-attack at 1-0 with Ounahi ballooning over.
En-Nesyri 7: Lacked composure early on with a few half-chances but then leaped so high over Costa to head into the empty net for the opener.
Portugal player ratings
Costa 4: Dismal attempt to claim Attiat-Allah’s cross before En Nesyri headed into the empty net, but stood tall for the Ziyech free-kick, even if slightly fortuitous, forcing the ball out.
Dalot 5: Struggled to get past Attiyat-Allah when he got forward but relatively sound defensively.
Pepe 5: Still a leader and a towering presence, but vulnerable in transition, as proven by a crude challenge to take out Hakimi. Missed a glorious late chance with a header.
Dias 4: Outjumped and outmuscled by En Nesyri for the goal.
Guerreiro 5: Got forward well, able to switch the play and fed Felix for a glorious chance, but then allowed En Nesyri to get a run on Dias for the goal.
Neves 4: Weak in the challenge at times and unable to influence play when Portugal had the ball. Subbed early.
Otavio 4: Struggled to play between the lines. Subbed off.
Silva 5: Dropped deep in pursuit of the ball in an attempt to influence play but rarely dictated play.
Fernandes 6: Wildly ambitious passes overhit and gifted back to Morocco early on, but then hit the bar with a sensational volleyed finish. The Selecao at their most dangerous with him attempting difficult passes with high reward.
Felix 6: A poor effort after finding space on the edge of the area, blazing over after a fine ball by Guerreiro, but forced a sublime save from Bounou after a whipped effort with seven minutes remaining.
Ramos 4: Isolated for the first half then handed a golden opportunity but missed the target with a free header. Subbed off, not his day.
Cristiano Ronaldo 6: Came on early in the second half, a poor touch when Portugal spread the play to him on the right as the move broke down. Lovely lay-off to Felix to create a good chance late on.
Cancelo 6: Able to weave his magic down the left, lovely turn at times to find space and deliver into the box.