The former Celtic boss had endured a disappointing start after taking the reins at The Riverside, losing his first game at home to Bristol City.
But, after Pablo Counago gave Palace the lead in the first half, Tarmo Kink came off the bench to level things up before McCarthy diverted Tony McMahon’s header past his own keeper.
Despite going into the game having lost their last two, the visitors showed plenty of endeavour during the opening exchanges.
They nearly took the lead after just 12 seconds as James Vaughan found space in the area, but saw his header brilliantly saved by Jason Steele.
Middlesbrough, meanwhile, have endured a poor run of their own having entered the game on the back of four consecutive defeats.
But they too were pushing forward early on and almost went ahead when Joe Bennett forced an excellent save from Julian Speroni.
The end-to-end nature of the game continued and, after cleverly working himself an opening, Darren Ambrose came agonisingly close to netting the opener for the visitors, hitting just wide.
However, the Eagles got the reward they deserved in the 29th minute through Counago.
Alex Marrow was the architect, jinxing his way into the box, before picking out Counago, who was in the right place at the right time to bundle the ball home.
Boro were looking increasingly clueless as the half wore on as Palace opted to knock the ball around and control possession.
The quality of their performance was illustrated by Mowbray’s decision to make a substitution in just the 39th minute, Nicky Bailey replacing Stephen McManus.
He opted to make another chance at the interval, with Leroy Lita coming on in place of the ineffective Kris Boyd.
Middlesbrough nearly restored immediately when Lita headed just over after a being picked out by Julio Arca.
Arca then had a chance of his own but, after being found by Danns, he saw his effort excellently saved by Speroni.
The outstanding Argentinian stopper produced an even better save moments later, denying Lita from point-blank range.
Mowbray made his final substitution as they searched for an equaliser, bringing on Kink.
And, after the Estonia winger hit just wide with his first chance, he got an all-important equaliser 76th minute with an excellent strike across goal.
The comeback was complete in the 85th minute as a helpless McCarthy gave Boro the three points.