AS Monaco climbed to ninth in the Ligue 1 table with a 1-1 draw against high-flying Rennes but will be disappointed not to have claimed all three points after dominating much of the match, despite Danijel Subasic's second-half penalty save.
The hosts started brightly and could have been ahead inside the opening few minutes had Thomas Lemar's curling free kick been on target.
However, Rennes were a threat on the break and they thought they had gone ahead when Abdoulaye Doucoure's shot went in via a deflection off Ludovic Baal, but the goal was ruled out for offside.
Abdoulaye Diallo was then called into action to save Stephan El Shaarawy's deft effort midway through the first half, before Adama Traore fired the home side's best chance of the opening 45 minutes wide of goal.
Rennes, who have scored in every Ligue 1 game this season, then went ahead on the stroke of half time as an unmarked Doucoure rose to head home Baal's left-wing cross.
The lead was short-lived, though, as Wallace headed his side level from a Lemar corner that was flicked on at the near post by El Shaarawy six minutes after the restart.
Despite Monaco's dominance, they had Subasic to thank for preserving their lead when he turned Pedro Henrique's 65th-minute penalty around the post after Fabinho had tripped Cheikh Mbengue in the box.
Rennes' ability to threaten on the counter was dealt a blow when pacey forward Paul-Georges Ntep was forced off with a hamstring injury with 20 minutes to go.
Without Ntep to offer an out-ball for Rennes, Monaco pushed forward and almost took all three points twice, first when Lemar's late free kick struck the woodwork, then when Diallo made an acrobatic save from Guido Marcelo Carrillo in added time.