Hamels gave up just two walks, both to outfielder Dexter Fowler, and faced just two batters over the minimum. He finished the day with 13 strikeouts on 129 pitches.
With two outs in the bottom of the ninth inning, Cubs third baseman Kris Bryant hit a ball to centerfield that Phillies outfielder Odubel Herrera caught as he was almost on the ground on the warning track.
The inning prior, Cubs catcher David Ross hit a ball onto the warning track with one out in the inning, but Herrera made a diving catch.
Before Saturday, the Cubs had not been no-hit in 7,920 games, since Sandy Koufax threw a perfect game for the Los Angeles Dodgers on Sept. 9, 1965.
It has been rumored that Hamels will be traded before the July 31 non-waiver trade deadline. According to Ken Rosenthal of FOX Sports, theDodgers, Cubs, Rangers, Yankees and Giants have recently expressed interest acquiring Hamels.
Hamels also doubled in the top of the 8th inning.
The Phillies beat the Cubs, 5-0.