Mariners rookie Julio Rodríguez spoiled Pete Alonso’s bid to become the first player to win three straight Home Run Derbies by beating the Mets slugger 31-23 in the semifinals.

The 21-year-old Rodríguez hit 18 in the final minute of regulation and the 60 seconds of bonus time. His top blast was 450 feet and he averaged 410 feet.

Alonso had 18 during the three minutes of regulation time. Alonso had nine over 440 feet, including one that went 463, and averaged 427 feet.

Rodriguez will face either St. Louis’ Albert Pujols or Washington’s Juan Soto in the final.