Frank Lampard’s side were rocked when Kortney Hause put Villa ahead against the run of play in the first half.
But Christian Pulisic came off the bench to equalise after the break before Giroud bagged his fourth club goal of the season two minutes later.
Chelsea’s quick-fire blitz moved the fourth placed west Londoners five points clear of Manchester United in fifth in the race to qualify for next season’s Champions League.
A first away league win of 2020 was the ideal way for Chelsea to return to action in their first match since the Premier League was suspended in March due to the coronavirus.
Villa’s failure to hold onto their lead leaves Dean Smith’s second bottom team one point from safety with eight games left to avoid relegation.
As has been customary in every match since the restart on Wednesday, a minute’s silence was held for victims of COVID-19, while both teams took a knee in support of the Black Lives Matter cause.
Chelsea midfielder Ruben Loftus-Cheek was making his first Premier League start since May 2019 after recovering from a serious Achilles tendon injury sustained during a friendly in the United States.
Loftus-Cheek, who had been close to full fitness before the lockdown, nearly marked his return with a goal when he headed just wide after powering past Tyrone Mings.
Lampard says his recent signings of Ajax playmaker Hakim Ziyech and Leipzig striker Timo Werner will put pressure on Chelsea’s youngsters to be more consistent next season.
With that message in mind, he picked Giroud up front instead of Tammy Abraham, keeping faith with the French veteran after his impressive form before the hiatus.
Mason Mount, another of Chelsea’s breakthrough stars, did start and the midfielder tested Villa keeper Orjan Nyland with a stinging long-range drive.
Nyland got away with a terrible blunder during Wednesday’s 0-0 draw against Sheffield United when he stumbled over the goalline while holding onto the ball, only for Hawk-Eye to fail to award the clear goal.
And he was fortunate to escape after another miscue when Mateo Kovacic’s shot slipped towards his own net before the Norwegian got back to scoop it off the line.
Both teams were given an unwanted soaking when the grass sprinklers briefly spurted into life.
But the sight of Villa, who had lost their last nine Premier League games against top four sides, taking the lead in the 43rd minute was even more unexpected.
Douglas Luiz chipped a delicate cross over the Chelsea defence to Anwar El Ghazi, whose shot was pushed out by Kepa.
With Chelsea’s defence slow to react, Hause alertly flicked home from close-range for his first Premier League goal.
Having held 77 percent of possession, it was yet another case of Chelsea being punished for failing to turn territorial dominance into goals.
Cesar Azpilicueta headed wide from Willian’s cross early in the second half and moments later Lampard sent on Pulisic and Ross Barkley in a bid to ignite Chelsea’s spluttering attack.
It proved an inspired move as US winger Pulisic equalised in the 60th minute.
Azpilicueta whipped over a cross from the right and Pulisic arrived at the far post to guide a half-volley into the roof of the net for his first goal since November.
Two minutes later, Chelsea’s comeback was complete.
Mount and Giroud exchanged passes to open up the Villa defence before Azpilicueta picked out Giroud, whose shot on the turn deflected off Conor Hourihane on its way past Nyland.
A slip by Andreas Christensen gave Jota the chance for a late equaliser, but the Villa substitute dragged his shot wide.