I'll Have Another overtook Bodemeister, blazing down the stretch to win the Preakness in the final strides Saturday and keep alive his hopes of winning the Triple Crown.
In a race that was a virtual repeat of the Kentucky Derby finish, I'll Have Another raced from behind to beat pace-setter Bodemeister.
In the rematch, I'll Have Another won by a neck after winning the Derby by 1 1/2 lengths.
I'll Have Another now has a chance to become the first Triple Crown winner since Affirmed in 1978. The Belmont Stakes, the last of the Triple Crown races, is June 9.
I'll Have Another covered the 1 3/16 miles in 1:55.94.
The winner, second-favorite behind Bodemeister, paid $8.40, $3.80 and $2.80. Bodemeister returned $3.20 and $2.80, and Creative Cause paid $3.60 to show.
Bodemeister broke to the lead and held onto first place for much of the race, but as the horses headed for home, I'll Have Another bolted past the field, took aim at Bodemeister and won the charge to the finish line.
It was a painful defeat for Bodemeister trainer Bob Baffert, who was seeking his sixth Preakness victory.
I'll Have Another is the first horse since Big Brown in 2008 to win the first two legs of the Triple Crown.
"He has a tremendous kick in the end," winning jockey Mario Gutierrez said. "It's not me, it's him. He just keeps proving people wrong."
Trainer Doug O'Neill, elated with his first Preakness win, said: "When I saw Mario get him in stride midstretch, I just had faith."