Jordan Walker won the Home Run Derby in Philadelphia on Monday night, edging Kyle Schwarber 12-11 in the final round and finishing with a homer on each of his last five swings. Walker’s victory made him the first Cardinal to win the derby, and it came with Schwarber putting up 11 home runs in 15 swings before falling one short in the last round.
The result landed on the eve of the 2026 MLB All-Star Game in Philadelphia, which was scheduled for the next day. The city had six Phillies in the All-Star festivities, including Brandon Marsh as a starter, Bryce Harper at first base, Schwarber at designated hitter, and pitchers Jhoan Duran, Cristopher Sánchez and Jesús Luzardo, giving local fans plenty to watch before the main game arrived.
That made the derby feel bigger than a side event. Philadelphia was hosting the All-Star Game for the fourth time, but this was the first one at Citizens Bank Park, and the crowd made its preferences obvious. It booed most hitters and saved its loudest support for Schwarber and Harper, with chants of “Let’s go, Bryce!” following Harper while Dino Ebel pitched to him. Harper had already won the 2018 derby in front of home fans when he was with the Nationals, so the night carried enough local memory to feel personal.
Walker still cut through all of it. He beat Junior Caminero 6-5 in the semifinals, while Schwarber got past Willson Contreras 9-8, setting up a final that turned on a single swing. The format gave each hitter a fixed set of swings, and in the last round Walker used all 15 of his chances better than Schwarber used his, which was the difference between a trophy and a near miss. The National League’s larger push also hung over the night: after winning last year in a swing-off that followed a 6-6 tie through nine innings, it was trying to make that victory back-to-back.
By the time the derby ended, Philadelphia had its first clear headline of the week. Walker had the trophy, Schwarber had the home crowd behind him, and the All-Star Game itself was next.

