The win over Belgium earned Morocco their first World Cup victory in 24 years, last beating Scotland in the 1998 France World Cup.
Morocco now sits at second in Group F with a goal difference behind Croatia, after the European team beat Canada 4-1.
"We scored at the right moment. We deserved to win. After 70 minutes some of our players were tired," said man of the match and Morocco midfielder Hakim Ziyech.
"The way the crowd got behind us, they really helped us. They gave us a big boost," Ziyech said crediting the Atlas Lions fans in attendance at the Al-Thumama Stadium.
Morocco was dealt a blow after the national anthems when goalkeeper Yassine Bounou appeared to gesture he would not be able to play, experienced Munir El Kajoui was sent out in his place.
The Belgians possessed the ball 67 percent over Morocco's 33 percent but a score deadlock remained majority of the match.
A free-kick goal by Ziyech in first-half injury time was ruled out after a video assistant referee (VAR) review found Morocco team captain and Besiktas defender Romain Saiss was obstructing Belgium goalkeeper Thibaut Courtois' view.
Morocco substitute and Sampdoria midfielder Sabiri broke the deadlock in the 73rd-minute with a free-kick that Courtois allowed to bounce in at his near post.
An assist from Ziyech to Ligue 1 club Toulouse forward Zakaria Aboukhlal sealed the match for Morocco, as Aboukhlal right footed a goal in stoppage time.
Belgium coach Roberto Martinez said the match result was difficult.
“We couldn’t get our game going. It’s a game we need to understand; we need to be together and react. That’s what happens at the World Cup," Martinez said.
Belgium, the world's second-ranked side, will have to beat 2018 runners-up Croatia to be sure of going through to the last 16.
Morocco will qualify for the knockout phase for the first time since 1986 if they can avoid defeat against Canada on Thursday.
Information for this report came from Agence France-Presse and Reuters.