Cherry Wine was second, while Nyquist finished third. The winning time for the 1 and 3/16-mile run was 1:58.31.
"I'm in shock right now," said Desormeaux, who has won seven Triple Crown races. "I had a dream trip today."
The jockey said the key to victory was Exaggerator's ability to run near the inside fence while the other horses took a wider path.
"These turns, you want to paint the fence," he said.
The track at Pimlico Race Course in Baltimore was very muddy, thanks to a cold rain that fell all day.
When asked whether that was a factor, Nyquist trainer Doug O'Neill said, "I don't know. Hats off to Exaggerator and Team Desormeaux. What a great run. I didn't think we could get beat. ... Nyquist still ran a huge race."
Exaggerator, the second favorite at 5 to 2 odds, trailed much of the race, but made a huge move on the backstretch to get close to Nyquist and the other leaders.
As they came off the final turn into the homestretch, Desormeaux coaxed Exaggerator to the outside, where he coasted past Nyquist and Uncle Lino.
"I could feel Exaggerator coming. There was nothing we could do," Nyquist's jockey, Mario Gutierrez, said. "We swung out late, but they were tough. We tried, but just didn't get there."
Trainer Keith Desormeaux, the winning jockey's brother, said in the two weeks since the Kentucky Derby -- at which his horse almost caught Nyquist -- he let Exaggerator take it easy in training
"I did what I could to get him freshened and happy and strong. I've always said he's had a great ability to recover and he showed it today," he said.
It was the first time in five head-to-head matchups that Exaggerator had defeated Nyquist.
Nyquist lost for the first time in nine career starts.
The race came hours after two thoroughbreds died at the track. Homeboykris, a 9-year-old gelding, collapsed after the first race of the day and Pramedya, a 4-year-old filly, fractured a cannon bone in her lower leg while running on grass in the fourth race. She was euthanized on the track.