Barcelona opened a 14-point gap over Real Madrid, who must win at Espanyol on Sunday (Monday AEST) to stop Barca from clinching a second straight La Liga crown.
A victory by Madrid would prolong the title fight another week, when Barcelona hosts them in a "clasico" match.
Lewandowski thumped home a powerful header in the 81st minute. Torres added a second in Pamplona five minutes later and Raul Garcia netted for Osasuna in the 89th.
"We have put the pressure on Madrid," Torres said.
Between wrapping it up now or having the chance to do so with a win over Madrid at Camp Nou, Torres said he was fine with celebrating a title from his home on Sunday if Madrid slip at Espanyol.
"For me I just want to be champions as soon as possible," he said.
"That way we can start celebrating."
Flick said that his players "were celebrating" in the changing room at El Sadar Stadium.
"It is a huge victory for us," said the former Bayern Munich coach, who is close to getting his second Spanish league title in as many seasons.
"We did our job today and this is what I want to see from my team."
Elsewhere, fourth-placed Atletico Madrid rested most of their starters but got goals from two debutants as they won 2-0 at Valencia before facing Arsenal for a place in the Champions League final.
The game was Diego Simeone's 1000th as a coach, Atletico said, with 795 at the Spanish club where he has been in charge since 2011.
Ernesto Valverde also coached his 500th game for Athletic Bilbao when he oversaw a 4-2 win at Alaves.
Both are club records.
Third-placed Villarreal guaranteed they will finish in the top four and play in Europe's elite club tournament for a second straight season after routing Levante 5-1.