Hayes enjoyed his most successful campaigns as a Philadelphia Phillie in the late 80's. Hayes finished 8th in MVP voting in 1986, when he led the National League in runs, doubles and extra base hits. He achieved an on-base average over .400 in 1987. In 1989, Hayes made his only appearance on the All Star team, and had career high totals in OPS+ (140) and batting runs (32.4)[1].

There were many rumors during the 1989 season that the New York Mets were interested in acquiring Hayes in a trade for Lenny Dykstra, but the Mets instead traded Dykstra for Juan Samuel, a move that disappointed Mets fans as Samuel failed to continue his hitting form.

On June 11, 1985, Von Hayes became the first player in MLB history to hit two home runs in the first inning of a baseball game. After leading off the game with a home run off Tom Gorman, Von Hayes hit a grand slam later that inning off Calvin Schiraldi.[2] The Phillies won the game 26-7 over the Mets: at that time the most single game runs scored by a Major League team in over 40 years.

Hayes also hit two two-run home runs in a June 8, 1989 game against the Pittsburgh Pirates at Veterans Stadium. It was in this game that, after the Pirates scored 10 runs in the top of the first inning, Pirate broadcaster Jim Rooker said on the air, "If we lose this game, I'll walk home." Hayes' two home runs triggered a comeback, the Phillies winning the game 15-11. (After the season, Rooker conducted a charity walk from Philadelphia to Pittsburgh.)