Lorenzo crossed the finish line at the Motegi circuit in 43min 47.238sec, with Rossi 1.304sec behind and Spain's Dani Pedrosa, riding a Honda, in third 3.763sec back.
Australian Ducati ace Casey Stoner, the 2007 world champion who beat Rossi in the the season-opening MotoGP race in Qatar two weeks ago, finished in fourth place.
It was the 21-year-old Lorenzo's second career MotoGP victory following one in Portugal a year ago.
The win put Lorenzo, who stepped up to the premier class last year after 21 wins in the 125cc and 250cc categories, at the top of the MotoGP standings with 41 points, ahead of Rossi at 40 and Stoner at 38.
Rossi started from the pole position at the 4.8-kilometer Motegi Twin Ring after heavy rain washed out the qualifying session Saturday. He clocked the fastest time in free practice. The Italian beat the pack around the first corner on a drying track after morning showers and led the race early, with Stoner lagging behind several riders. Lorenzo overtook Rossi on the ninth lap, widening his lead to more than two seconds later.