Madrid: Isco struck in stoppage time to send Real Madrid six points clear of Barcelona at the top of La Liga after twice coming from behind to beat Sporting Gijon 3-2 on Saturday.
Madrid can all but secure a first league title in five years with victory when they host Barca next weekend.
But not for the first time this season they needed a late show after Duje Cop and Mikel Vesga put Sporting in front early in both halves.
And Isco sealed the comeback when he drilled home from the edge of the box.
Barca can close the gap back to three points when they host Real Sociedad later on Saturday.
Madrid boss Zinedine Zidane made nine changes from the side that beat Bayern Munich in the first leg of their Champions League quarter-final in midweek.
Cop missed a late penalty with the chance to snatch a draw when the sides last met in November.
However, the Croatian made amends when he finished off a lovely Sporting move by volleying home Vesga's scooped pass to put Sporting in front after 14 minutes.
The lead lasted just three minutes as Real responded with a wonder goal of their own.
Isco received Lucas Vazquez's pass inside a crowded penalty area but somehow dribbled past two Sporting defenders before curling the ball into the top corner.
Despite dominating possession for the remainder of the first half Real had to wait until early in the second period for another clear chance to take the lead.
Sporting went straight up the other end to retake the lead as Vesga looped a measured header into the far corner.
Once again, though, Sporting's defensive deficiencies were quickly exploited by the European champions as Morata towered above his marker to head home Danilo's cross.
Madrid then peppered the Sporting goal, but didn't make the breakthrough until injury time as Isco's effort from the edge of the area had too much power for Cuellar.
Defeat means Sporting remain five points from safety in 18th with just six games remaining.