Hinchcliffe moved up into second place after passing Josef Newgarden with three laps remaining, then was blocked by Sato, who was coming off a victory two weeks ago in Long Beach, Calif.
But the Canadian driver edged past him on Turn 11 of the 2 1/2-mile street circuit, beating Sato to the finish line by 0.3 seconds for his second victory of the season.
Hinchcliffe also took the season-opening event at St. Petersburg, Fla., but had followed that up with a pair of 26th-place finishes.
Three-time defending champion Will Power finished 24th in the 25-car field after overheating problems with his No. 12 Team Penske car.