Alejandro Canizares celebrated his second European Tour win as he finished five shots clear at the top of the Trophee Hassan II leaderboard.
The Spaniard, who previously picked up silverware at the 2006 Russian Open, completed a first wire-to-wire victory of his career in Morocco, rounding off his perfect weekend with a two-under 70 to secure victory on Sunday.
After hitting rounds of 62, 68 and 69 prior to the final day, Canizares' final round was on course to see him complete all four under 70, only for a double bogey at the last to deny him.
Canizares bogeyed the second and finished the front nine one under after birdies at the fifth and ninth. He collected three more shots to be on course for a 68 until his first double bogey of the tournament on 18.
The 31-year-old admitted he had been nervous ahead of the final round, but was delighted to keep his composure when it mattered.
"It has been a long time since the last one (victory)," said the relieved Spaniard. "It felt like it was never coming!
"I played some of the best golf of my career. I seemed to hit good shot after good shot.
"It's a very special moment. It has been a great experience.
"Hopefully this is the first step for an improvement in my career, hopefully I can improve little by little to play golf like this every week."
England's Andy Sullivan produced a stunning 63 to move 13 places up the leaderboard and claim second behind Canizares.
The 27-year-old had a steady front nine that included three birdies and a bogey, but it was his back nine that earned him the runners-up spot.
Sullivan shot seven birdies on his way home to record the best finish of his career since turning pro on the Tour in 2011.
Sweden's Magnus Carlsson moved himself up the standings as a 68 saw him tie for third with Seve Benson.
Two of Canizares' challengers going into the final round, Shiv Kapur and Robert-Jan Derksen, both struggled on Sunday and eventually finished tied for 17th with four other players.
Derksen's four bogeys and a double bogey saw him card a three-over 75, while Kapur's 73 meant he dropped 13 places.