The White Sox posted their highest hit total since getting 26 against Baltimore in 1981. The modern major league record for hits in a nine-inning game is 31, by Milwaukee in 1992 and the New York Giants in 1901.
Garcia and Moncada each homered, and Jose Abreu added three hits.
Moncada had four hits and walked twice. The rookie had a chance to become the first White Sox player to reach base seven times in a nine-inning game, but struck out in the ninth.
Chicago has won five of six. Detroit has lost six in a row.