Casey Stoner stormed to pole position for the Catalunya Grand Prix as Cal Crutchlow qualified third.
Austalian Stoner had been off the pace during Friday's second practice but was back to his best as he put his Repsol Honda ahead of Spain's Jorge Lorenzo.
Briton Crutchlow equalled his best-ever qualifying performance to round out the front row and will be in the mix for a maiden podium finish on Sunday.
American Ben Spies was fourth, with Italy's Valentino Rossi down in ninth.
Stoner's team-mate, Dani Pedrosa of Spain, was a disappointing fifth.
Crutchlow, who currently rides for Tech 3 Yamaha, told the BBC this week that he has held initial talks about moving to a factory MotoGP team for next year after his superb start to the season, and he was again impressive.
The 26-year-old has consistently been the top non-factory rider this season and has twice finished fourth as he looks to become the first Briton on the MotoGP podium for 12 years.
Crutchlow said: "I am really happy to be back on the front row again and it feels great considering this is only the second time I have been to this track. I expected to be up there challenging but wasn't sure where.
"It proves again that I've got the raw speed and consistency and now I am really looking forward to the race.
"It will be really tough if the conditions are the same with the temperature so hot but I am ready for it. This morning I only used an old soft rear tyre and I was still really fast, so I knew when I put in a new soft rear this afternoon that I could be much quicker.
"Today is a great result and hopefully I can do the same job tomorrow when it really counts."
Maverick Vinales took pole in the Moto3 class, with Marc Marquez on top spot in Moto2.
Catalunya Grand Prix selected qualifying times:
1. Casey Stoner (Aus) Repsol Honda 1:41.295
2. Jorge Lorenzo (Spn) Yamaha 1:41.441
3. Cal Crutchlow (GB) Tech 3 Yamaha 1:41.548
4. Ben Spies (US) Yamaha 1: 41.552
5. Dani Pedrosa (Spn) Repsol Honda 1:41.656
6. Andrea Dovizioso (Ita) Tech 3 Yamaha 1:41.687
7. Nicky Hayden (US) Ducati 1:42.029
8. Stefan Bradl (Ger) LCR Honda 1:42.065
9. Valentino Rossi (Ita) Ducati 1:42.175
10. Alvaro Bautista (Spn) Gresini Honda 1:42.356