The Celtics lost for only the second time in 17 games.
Garnett, averaging 15 points and nine rebounds a game, left the contest late in the first period with an injury to his lower right leg. He limped to the sidelines after making a dunk and was immediately taken for X-rays.
Boston Coach Doc Rivers said after the contest that Garnett "may miss some games" but he did not believe the injury was serious.
McGrady filled in for regular starter Rodney Stuckey, who was suffering from stomach flu. McGrady made 7-of-11 shots, scored 21 points and handed out eight assists. Detroit had lost two in a row.
The Pistons shot 55 percent from the field and made 10-of-15 from 3-point range.
Paul Pierce led Boston with 33 points. The conference-leading Celtics slipped to 24-6 for the season.