The Welsh side were in complete control at half-time courtesy of goals from Danny Graham and Joe Allen and looked set to record a first Premier League away win.
McCarthy’s side were booed from the field at the interval and there was considerable disapproval from the home fans when he removed wingers Adam Hammill and Matt Jarvis for Nenad Milijas and Adlene Guedioura.
But Doyle tapped in after Michel Vorm could not hold a Sam Vokes effort, before O’Hara calmly slotted the leveller after intelligent play on the left by Doyle to earn a point.
There had been signs of home nerves during a tense opening, with Karl Henry particularly guilty of some wayward passing which allowed Swansea to settle.
Nathan Dyer’s drive across goal was turned just wide of his own goal by Christophe Berra before Wayne Hennessey tipped over Allen’s effort from the edge of the box.
Wolves were rocked back on their heels but responded by creating the best chance so far.
Doyle robbed Leon Britton and it took a sharp block from Angel Rangel to stop Jarvis getting a shot on target, before Vorm sharply beat away O’Hara’s volleyed shot.
But it was Swansea who took the lead in the 23rd minute as Mark Gower’s lofted pass evaded Roger Johnson’s desperate attempted clearance for Graham to control and slot low beyond the advancing Hennessey.
Wolves sought a rapid response and Vorm had to be at his athletic best to tip over a Hammill free-kick.
But Swansea stunned their hosts by doubling their lead as Graham was released down the right, with the striker teeing up Allen for a simple tap-in.
And It could have been worse for Wolves as Hennessey’s failure to hold a Dyer shot resulted in confusion, but they managed to survive to the break.
Henry fired narrowly wide as Wolves, presumably with some choice words from McCarthy ringing in their ears, made a purposeful start to the second half.
Jarvis headed wide at the far post after a lengthy spell of pressure but a lack of guile and patience on the ball was being exposed as Swansea’s comparative comfort in possession saw them carve out another chance.
Allen was the instigator with a neat turn in midfield, and Hennessey had to be alert to deny Scott Sinclair’s close-range effort from a Dyer cross.
O’Hara was booked after a late challenge on Dyer following another jinking run from the lively winger before a shot from Sinclair was deflected up and over Hennessey by Johnson’s block, but landed on the roof of the net.
McCarthy’s made a double change as he removed wingers Hammill and Jarvis, to howls of derision from the home crowd, to introduce Milijas and Guedioura.
Hennessey had another slice of fortune when his weak parry from another Sinclair effort proved just enough to get the ball past the post.
Wolves piled on the pressure and had appeals for a penalty turned down when O’Hara went to ground under a challenge from Swansea substitute Wayne Routledge.
But it proved a brief reprieve as the game was turned on its head with two goals in quick succession.
Doyle tapped home after Vorm could only parry a close-range effort from substitute Sam Vokes in the 84th minute to give the hosts hope.
And they were level just two minutes later as Vokes freed Doyle down the left, and the Republic of Ireland international’s intelligent cut-back was fired high into the net by O’Hara.
Swansea were suddenly rocking and Doyle had a chance to find a winner in stoppage time, but his tame header was easily held by Vorm.