The Irish midfielder took his tally for the season to three with a stunning brace to sink Watford.
Palace were leading through Darren Ambrose's first-half curler, only for Watford to hit back in dramatic fashion through Danny Graham and Jordan Mutch after the interval.
But Garvan fired Palace to only their second win in 10 matches with two goals in as many minutes.
In a lively encounter, Hornets midfielder Stephen McGinn had Julian Speroni scrambling in the opening moments with an ambitious, looping long-range which the Palace keeper bundled clear.
Watford were almost architects of their own downfall after nine minutes when defender Martin Taylor and England Under-21 goalkeeper Scott Loach left the ball for each other and James Vaughan nipped in between them.
But, fortunately for the visitors Vaughan, the on-loan Everton forward, overran the ball.
Moments later the same pair were at it again, this time Pablo Counago taking advantage of a worrying lack of communication at the back for Watford but Ambrose eventually wasted the chance, shooting over.
But the duo could do little about Ambrose's stunning strike after 19 minutes.
Defender Paddy McCarthy put in a brave block in front of goal to deny Graham and, after a quick Palace break, the ball came to Ambrose on the edge of the area and he curled an unstoppable shot past Loach and into the top corner.
Watford almost drew level after 27 minutes when Palace failed to deal with a corner. McGinn's drive was kept out by Speroni's legs and Graham screwed his follow-up shot wide.
Lloyd Doyley was next to try his luck but the full-back showed why he has scored just once in over 300 appearances when he blazed his shot over.
Troy Deeney should have done better with a free header from a corner which he planted wide, before Speroni ensured the sides went in level at the interval when he superbly blocked McGinn's point-blank volley.
However, the second half got off to a dramatic start when Graham applied the finish to a sweeping move when he tapped in McGinn's cross.
And moments later Mutch finished off Deeney's cute backheel to put the visitors in front.
However, Eagles manager George Burley threw on youngster Wilfried Zaha and the winger made an immediate impact with the cut-back for Garvan to slam home the 57th-minute equaliser.
And when the Hornets failed to deal with a high ball into the box Garvan, from virtually the same spot, crashed in the winner.