Pim Verbeek’s charges took the lead six minutes before halftime when Abdelaziz Barrada thundered in a superb volley, only to see their opponents draw level from close range 10 minutes after the break through Jerry Bengtson before sending his side into the lead from the penalty spot shortly afterwards.
However, the advantage lasted just two minutes when highly rated Zakaria Labyad dinked the ball over the advancing Jose Mendoza, only for Morocco to end the game a man down when left back Zakarya Bergdich was given his marching orders in the 71st minute for kicking out at Mario Martinez.
Morocco dominated the opening exchanges and should have taken the lead through forward Noureddine Amrabat early on, only for a last-ditch block from Wigan defender Maynor Figueroa to keep the danger at bay.
Verbeek did not have to wait too long for the breakthrough, though, as a superb volley from Barrada put them 1-0 up.
And Honduras almost equalized immediately when Andy Najar found himself inside the box with the ball at his feet but he could only fire high and wide with the goal at his mercy.
Morocco carried its slender advantage into halftime but, shortly after the break, Honduras struck back with a 56th-minute tap-in from Bengtson. Figueroa picked up the assist.
And it got even better for Luis Fernando Suarez’s side six minutes later when Yassine Jebbour brought down Bengtson in the area to concede a penalty. Bengtson picked himself up and slotted home his second goal of the game to put Honduras in to a 2-1 lead.
However, the scores were level again almost immediately when Labyad found himself in space and lobbed Mendoza with an inch-perfect right-footed effort.
After getting back into the game, Morcocco was put on the back foot when Zakarya Bergdich inexplicably kicked out at Mario Martinez and received a red card.
Despite being reduced to 10 men, Verbeek's men went looking for a winning goal and came agonizingly close when a fine Jebbour run ended with the defender finding the side netting.
Morocco will now face Japan on Sunday, with Honduras facing the much-fancied Spain on the same day.
Follow GOAL.COM on Twitter