Bristol Rovers secured their first win of the season at Exeter.
David Clarkson gave the visitors the lead after just five minutes when he hooked in from Tom Parkes' long ball.
The Grecians levelled on the stroke of half-time through 37-year-old ex-Rovers striker Jamie Cureton, who slotted in past stranded keeper Neil Etheridge.
Substitute Eliot Richards secured all three points for the Pirates when his soft strike slipped past goalkeeper Artur Krysiak.
Exeter were forced to play the final 10 minutes of the game with 10 men as Scot Bennett was stretchered off the field after manager Paul Tisdale had used all three substitutes.
VIEW FROM THE DRESSING ROOM
Exeter City manager Paul Tisdale told BBC Radio Devon:
"As much as we made two terrible mistakes for the goals we conceded, we can't put all the blame on defenders and goalkeepers. We've had more than our fair share of opportunities to score today and we couldn't take them.
"Our first half really was terrific, I'm hard pressed in my six years here to find a better performance than we did first half today.
"They didn't really have to earn their goals, I would see them as two mistakes by us that they capitalised on.
"I see an effective team with a very strong togetherness with players who can score goals, I wish we scored more today."
Bristol Rovers manager Mark McGhee told BBC Radio Bristol:
"I feel absolutely relieved. Whether we deserved it or not, we won it.
"Somewhere along the line we've deserved to win a game this season.
"We won it by a good individual goal but I'd liked to have seen us win it with a team effort.
"We introduced a couple of new players and I think they did fine and we can build on that."