City of Troy, ridden by jockey Ryan Moore, claimed victory in the Coral-Eclipse at Sandown.
The favourite, who won the Derby last month, held off a late challenge by Al Riffa to triumph by a length.
“I thought he’d win better today,” Moore told ITV Racing. “The ground is slower than what he wants.
“I got it wrong. I never really got it out of him until I had to. There was a lot more in there. He still got the job done.”
City of Troy is the first Derby winner to win the Eclipse – where the three-year-old Classic generation take on their elders – since Golden Horn nine years ago.