Exeter withstood a late fightback from Barnet to stay in the promotion hunt in an ill-tempered clash in which both teams were reduced to ten men.
The visitors were 3-0 up with a minute to play, but Barnet hit back with two injury-time goals, the second from the spot.
Barnet's Lewis Hogg was the first to go for an early bath on 71 minutes after he fouled James Coppinger, and Sean Devine joined him eight minutes later for a second yellow.
Hogg's dismissal led to the second goal, which Chris Todd tapped in from a yard out while the opposition was still reeling.
It was after Santos Gaia had put the visitors ahead three minutes from half time, despite the home side having the better of the first-half chances.
But 17-year-old debutant keeper Martin Rice was on hand to make some great saves after a near horror start to his first-team career.
Rice, in for James Bittner who suffered a groin injury the afternoon of the match, let slip a soft header through his legs in the first minute, but Gaia rescued it off the line.
But Rice made up for it by keeping out first Ben Strevens, then Tony Taggart with superb diving efforts.
Glenn Cronin put the game seemingly beyond doubt in the 89th minute with an excellent volley from Steve Flack's cross.
It was a flash of brilliance in an ugly game, which erupted into a 20-man brawl ending in Devine's dismissal.
Plummer headed in Barnet's first unmarked outside the box, and Giuliano Grazioli added another with a penalty after a Gaia foul in the area.
Exeter manager Eamonn Dolan said: "It was a professional, competent performance, but the 3-2 scoreline was a travesty." Barnet boss Martin Allen refused to criticise the referee, who failed to stamp his authority on the game. He said: "He had a difficult job to do and I'm not going to say anything against him.
"We showed a bit of spirit near the end but it wasn't enough. It's a learning process, even I'm learning still."