The most decorated Olympian of all-time was ahead of world record pace after 150m, before fading slightly over the final 50m of freestyle.
He clocked one minute 54.75 seconds, significantly faster than fellow American Ryan Lochte swam to win the world championships in Russia in 1:55.81 on Thursday.
Lochte holds the world record of 1:54.00 from 2011.
"I feel so old it's kind of wild," Phelps, 30, said in a poolside interview as the large crowd roared in approval.
"I've been away from the sport for a while and I feel like I'm kind of back where I used to be. It's good to be here."
After winning the 200m and 100m butterfly in 2015-world leading times on Friday and Saturday, respectively, there was no doubt that Phelps was back near his best form.
His Sunday performance was further confirmation that in Rio next year he could add to his record 18 Olympic golds.
"Ryan and I have been pretty dominant in that race from since we started racing back in 2004," Phelps said of the 200m IM.
"He's such a big part that I love having in the pool when we get to race, so I'm looking forward to getting back in and competing with him."
Either Phelps or Lochte has held the world record since 2003.
Phelps, who has three Olympic golds in the event and whose best time of 1:54.23 came at the 2008 Beijing Games, said the event would probably be in his 2016 Olympic plans.
Phelps made a great start on Sunday in the first 50m in his signature stroke of butterfly to turn in world record pace, and stayed ahead of the mark after the backstroke and breaststroke legs.
But his exertions caught up with him in the freestyle and he settled for a world-leading time.
Phelps is swimming at the US nationals instead of the world championships because he was banned from the U.S. team after his drink driving arrest last year.
He is under supervised probation for 18 months and under orders from the judge who ruled in his case to abstain from alcohol for that period, something he has vowed to do until after the Rio Games.