Gabriel Jesus scored with an 85th-minute header to claim a 2-2 draw for Manchester City at the Riverside Stadium.
He rose highest to head home Sergio Aguero's cross just eight minutes after Calum Chambers had given Middlesbrough a 2-1 lead when he pounced on a loose ball in the area.
Middlesbrough's former Man City striker, Alvaro Negredo, put the home side ahead on 38 minutes with a shot that went in off the post.
City made it 1-1 on 69 minutes, Aguero scoring from the penalty spot after Leroy Sane was fouled by Marten de Roon.
The result leaves fourth-placed City level on points with Liverpool in third while Middlesbrough remain in 19th place, six points from safety with three matches left to play.
WHO'S GOING TO BE YOUR
MAN OF THE MATCH?
Vote at Full-time