Always Dreaming, a 9-to-2 betting choice, had a great start and was second down the backstretch as State of Honor led. But Always Dreaming made his move with heading into the final turn.
As they turned for home, Always Dreaming was close to the rail and began to pull ahead to a comfortable margin.
"He responded right away," Velazquez said in the winner's circle. "It was a great feeling."
Always Dreaming won by 2 3/4 lengths.
Lookin At Lee finished in second place, and Battle of Midway rounded out the top three.
Irish War Cry, the other co-favorite, finished 10th.
Velazquez also rode Animal Kingdom to a win in the 2011 Derby.
After intermittent rain throughout the day, track conditions were sloppy.
Thunder Snow, a Irish-born horse run in Europe and the United Arab Emirates, had trouble out of the gate and jockey Christophe Soumillon eventually pulled his jumpy colt out of the race.
A total of 158,070 people attended the race, according to NBC, which broadcast the event.
The next race in the Triple Crown series is May 20 -- the Preakness Stakes at Pimlico Race Course in Baltimore. The Belmont Stakes in Elmont, New York, is June 10 at Belmont Park.