Sevilla striker Youssef En-Nesyri scored the crucial lone goal of the game towards the end of the first half, towering above Ruben Dias and goalkeeper Diogo Costa to a looping cross.
View the match summary and statistics at Flashscore

Read our text commentary of the match below...
90+9' The referee checks his watch and blows his whistle to signal the end of this match.
90+7' Pepe (Portugal) receives a lofted pass in the goal area and unleashes a dangerous header which sails narrowly wide of the right post! The ball goes out of play and Morocco will have a goal kick.
90+6' Zakaria Aboukhlal (Morocco) weaves through the defence and gets one-on-one with the keeper, but fails to score.
90+3' Walid Cheddira (Morocco) does not realise that he has already received a yellow card and is shocked when the referee shows him a second one!
90+1' Facundo Tello shows a yellow card to Walid Cheddira (Morocco) for his blatant foul.
90+1' A pass into the box finds Cristiano Ronaldo (Portugal) unmarked. He carefully places a shot towards the bottom right corner, but a brilliant last-ditch save by Bono denies him.
87' This yellow card was deserved. The tackle by Vitinha (Portugal) was quite harsh and Facundo Tello didn't hesitate to show him a yellow card.
83' A sweet pass finds Joao Felix (Portugal) on the edge of the box, and he drills the ball towards the top left corner. Bono is almost caught out but pulls off a brilliant save at the last second. The ball is out of play. Portugal win a corner kick.

82' The referee signals that it is time for a substitution and Yahya Jabrane (Morocco) comes onto the pitch so that Sofiane Boufal can be given a rest.
81' Here comes a substitution. Zakaria Aboukhlal (Morocco) is brought on as a substitute for Hakim Ziyech.
79' Fernando Santos is forced to make an unplanned substitution as Diogo Dalot suffers an injury and Ricardo Horta (Portugal) comes on.
70' Achraf Dari (Morocco) has tested the patience of referee Facundo Tello and goes into the book for a previous late challenge.
69' Here is a change. Otavio is going off and Fernando Santos gives the last tactical orders to Vitinha (Portugal).
69' We are about to witness a substitution. Rafael Leao (Portugal) for Goncalo Ramos.
65' Walid Regragui has decided to substitute Youssef En Nesyri and he is replaced by Badr Benoun (Morocco).
65' Substitution. Walid Cheddira (Morocco) in, Selim Amallah out.
64' An accurate pass to the edge of the box is well taken by Bruno Fernandes (Portugal), whose instinctive shot towards goal flashes inches over the top.
58' Goncalo Ramos (Portugal) gets free in the box and latches onto a good cross, but somehow he sends the ball narrowly wide of the right post from the penalty spot with just the keeper to beat. The ball goes out of play and Morocco will have a goal kick.
57' Romain Saiss is substituted due to injury. Walid Regragui gives a chance to Achraf Dari (Morocco).
51' Fernando Santos prepares a substitution. Ruben Neves is replaced by Cristiano Ronaldo (Portugal).
51' Substitution. Raphael Guerreiro will be replaced by Joao Cancelo (Portugal).
46' The players are back out on the pitch following the half-time break and the second half is about to start.
45+3' That is it for the first half after the referee blows his whistle and the players head to their respective dressing rooms.
45+2' Bruno Fernandes (Portugal) breaks into the box and goes over after a challenge from an opposition player, but the ref signals NO penalty!
45' What an opportunity! Bruno Fernandes (Portugal) smashed a first-time shot from the edge of the box, but the ball only crashed against the crossbar!
42' Morocco 1 - 0 Portugal
Goal! Youssef En Nesyri (Morocco) makes the score 1:0 after burying a close-range header in the right side of the goal after a good run and cross by Yahya Attiat-Allah.

31' Joao Felix (Portugal) reacts well to get to the rebound and takes a shot from the edge of the box, but he fails to get the ball through the players standing between him and the goal. Corner kick. Portugal will have an opportunity.
13' Raphael Guerreiro (Portugal) latches onto a loose ball inside the box, but his first-time strike at goal is blocked by a defender.
7' The corner is bent into the box and met with a firm header by Youssef En Nesyri (Morocco), but it's just over the bar.
5' Joao Felix (Portugal) leaps highest in the penalty area to get on the end of a cross from the set piece, and he produces a promising goal-bound header towards the right side of the goal, but Bono pulls off a decent save to deny him. The ball is out of play and the linesman points at the corner flag. Corner to Portugal.
1' Today's match has just started, enjoy the game!
Pre-match
Morocco starting XI: Bono; Hakimi, Yamiq, Saiss, Attiat-Allah; Amrabat, Amallah, Ounahi; Ziyech, En-Nesyri, Boufal
Portugal starting XI: Costa; Dalot, Pepe, Dias, Guerreiro; Neves, Otavio; Silva, Fernandes, Felix; Ramos
Key battle: After an NFL-inspired hoddle celebration in Morocco's penalties win over Spain, Achraf Hakimi will be looking to touchdown with another surprise victory here. The right-back has won the joint-most tackles (11) at this tournament so far but will be meeting hat-trick hero Ramos, who was only three years old when Ronaldo first scored at a major international tournament, but has already scored more goals for Portugal in the World Cup knockout stages.
Hot stat: Morocco have conceded just one goal in their last eight outings (W6, D2)!
World Cup trivia: The 0-0 draw against Spain before Morocco’s eventual penalties win was a seventh at this World Cup, equalling an all-time record in the competition.