The South Africa striker converted a ninth-minute penalty after Ibrahima Sonko chopped down Morten Gamst Pedersen.
Jason Roberts stabbed home another nine minutes later when Stoke right-back Ryan Shawcross helpfully deflected the ball into his path five yards from goal.
McCarthy's second, in the 27th minute, came after Roberts' shot was parried by goalkeeper Steve Simonsen and he was only denied a third the interval by the width of a post.
"I was hoping the phone wouldn't ring on Saturday morning and it did. First was Roque not recovering," said Allardyce, who revealed McCarthy had not been due to start.
"The doctor told me he was not available for selection but McCarthy was marvellous. He could have had a hat-trick."
Stoke boss Tony Pulis was furious with his side's defending.
"Christmas has come early for Sam. I think they got in our box three times and scored three goals and every goal was defendable," he said.
"After that it was game over. We are desperately disappointed. You can't legislate for individual mistakes."