His low cross was diverted into the Dunfermline net by Ryan Blair in 32 minutes and then he struck a superb equaliser 13 minutes from time.
It has taken Thistle into eighth place, one point ahead of Falkirk and Alloa, and manager Gary Caldwell was a relieved man, even if he greedily felt his side might have pinched it.
Thistle were rampant for most of the second half and ended up with five attackers on the field so Caldwell’s view was valid.
“For 65 minutes I thought we were outstanding,” the Partick boss said. “The forward momentum we had second half and the chances we created, but it’s never easy to go on and win the game when you give a team a two-goal start.
“We just fell short of doing that but in terms of character and resilience the reaction to going two goals down was fantastic.”
The Pars are smarting too because having been two ahead – and having missed two big chances to go three up – they blew the opportunity to put pressure on Ayr United in the chase for a play-off place.
They took the lead in ten minutes when Jackson Longridge played a great ball into Tom Beadling and he moved the ball on to his left side for a better angle and drove a low shot into the right corner.
Dunfermline clinically made it 2-0 in 24 minutes when they perfectly executed a training ground move.
Louis Longridge hit a corner from the right, picking out Bruce Anderson who slammed a right-foot volley past Conor Hazard.
Anderson should have scored again in 30 minutes when he was set up by Faissal El Bakhtaoui but shot weakly at Hazard.
He was made to pay as Thistle scored two minutes later when Blair put McDonald’s cross into his own net.
Lee Ashcroft missed from four yards in 50 minutes but it was all Thistle after that and they deservedly drew level with 13 minutes to go as McDonald, above, capitalised on a mix-up between James Craigen and Danny Devine with a deadly finish low into the left corner.
Dunfermline manager Stevie Crawford said: “It’s a sore one after we were two up but it was a big improvement in terms of performance and we will go again at Ross County on Tuesday night.”