Jorge Lorenzo took the second win of his MotoGP career at Motegi, beating his Yamaha team leader Valentino Rossi to victory as the manufacturer took a home one-two.
Dani Pedrosa showed that his pre-season injuries have been overcome by taking third place for Honda, ahead of Qatar winner Casey Stoner's Ducati.
Rossi surged into a clear lead at the start as Stoner was swallowed up by the pack, falling to seventh.
It initially looked as if Rossi would saunter off to a comfortable victory, but within a few laps Lorenzo had passed the fast-starting Hondas and started creeping up behind Yamaha's number one, who seemed to be struggling for race pace.
Lorenzo hounded Rossi for several laps before slicing into the lead on lap nine. The two Yamahas then pulled away from the Hondas in unison for a while, before Rossi fell further off the pace - allowing Lorenzo to get away and Pedrosa to start pushing hard for second.
The Spaniard twice dived past Rossi only to lose the place again on the exit of the corner, but appeared to have made the move stick at Turn 11 with eight laps to go.
Rossi would not give up though, and a lap later he repassed Pedrosa with a similar move and set back off in pursuit of Lorenzo, who was able to maintain a sufficient advantage and clinch his first win since Portugal last year, moving into an early points lead in the process.
Having got back up to fifth within the first half-dozen laps, Stoner seemed unable to close on the lead pack. But in the closing stages he was able to reel in Andrea Dovizioso and take fourth from the Honda rider with two laps to go.
Marco Melandri took an excellent sixth on the Hayate Kawasaki, winning a mid-race battle with Loris Capirossi, as Suzuki disappointed in race trim again.
After the practice crash that left him at the back of the grid, Mika Kallio further enhanced his reputation with a charge through the field to eighth on the Pramac Ducati, ahead of Tech 3 Yamaha's James Toseland.
With so little pre-race mileage, it was unsurprising that several riders struggled to make their tyre or set-up choices work in the hot and dry conditions - in particular top five starters Chris Vermeulen (Suzuki) and Colin Edwards (Tech 3 Yamaha), who both went into freefall in the race before regaining a little ground in the final stages.
The sole home rider in the race - Scot Honda's rookie Yuki Takahashi - did not even complete a lap before ploughing into the back of Ducati's Nicky Hayden and taking both out of the race.
Toni Elias (Gresini Honda) and Sete Gibernau (Hernando Ducati) also had falls, with Elias continuing at the tail of the field but Gibernau retiring in the pits afterwards.
Pos Rider Bike Time
1. Jorge Lorenzo Yamaha 43m47.238s
2. Valentino Rossi Yamaha + 1.304s
3. Dani Pedrosa Honda + 3.763s
4. Casey Stoner Ducati + 5.691s
5. Andrea Dovizioso Honda + 9.207s
6. Marco Melandri Hayate Kawasaki + 30.555s
7. Loris Capirossi Suzuki + 32.756s
8. Mika Kallio Pramac Ducati + 39.416s
9. James Toseland Tech 3 Yamaha + 43.106s
10. Chris Vermeulen Suzuki + 43.245s
11. Randy de Puniet LCR Honda + 44.834s
12. Colin Edwards Tech 3 Yamaha + 46.540s
13. Alex de Angelis Gresini Honda + 53.525s
14. Niccolo Canepa Pramac Ducati +1m21.804s
15. Toni Elias Gresini Honda + 1 lap
Rider Bike Laps
Sete Gibernau Hernando Ducati 13
Nicky Hayden Ducati 0
Yuki Takahashi Scot Honda 0