The 20-year-old from Markham, Ont., a junior at the University of Southern California, ran a blistering 9.75 in the 100 metres, then followed it up with a fast 19.58 in the 200 metres.
"It was just an unbelievable feeling," De Grasse said. "I never thought that I could run that fast but I just have to believe in myself and, now that I've run that fast, it's just changed my whole perspective on running."
Both times were wind-aided, so don't count for official rankings or records.
The wind in the 100 metres was 2.7 — just over the legal limit of 2.00. The wind for the 200 was 2.4. His 200 time was the fastest ever by a collegiate runner under any conditions.
The Trojan sped ahead of defending champion Trayvon Bromell of Baylor in the final 30 metres of the 100 race. Bromell was second at 9.88 and Larson third in 9.90.
Donovan Bailey and Bruny Surin share the Canadian record in the 100 at 9.84. DeGrasse already holds the national 200 record of 20.03, set on May 16.
De Grasse used to play basketball and didn't take up track until he was spotted at a meet in Toronto by coach Tony Sharpe. After being told "I had a gift", he ran for Coffeyville Community College in Kansas before transferring to USC.
"I'm going to try to put Canada back on the map," De Grasse said, "and compete with the U.S. and Jamaica."
With files from The Associated Press