Jenson Button admitted he had no answer to Kamui Kobayashi's pace as the Sauber driver beat him to third place in the Japanese Grand Prix by half a second.
Button rose from eighth to fourth and applied sustained pressure on Kobayashi, but the 26-year-old held firm to secure his first podium finish.
"Towards the end, I was able to start catching Kamui but he controlled his final set of tyres very well," said the 32-year-old McLaren driver.
"Fourth definitely isn't a bad result."
It keeps Button sixth in the world championship, 63 points adrift of leader Fernando Alonso with five races remaining.
The Briton behind Sebastian Vettel and Mark Webber but had a five-place grid penalty for changing a gearbox.
He pitted on lap 13 for a new set of hard tyres and Kobayashi did the same a lap later, but Button could not get in front.
Meanwhile, both men were leapfrogged by Ferrari's Felipe Massa, whose new soft tyres allowed him to stay out until lap 17 and climb from 10th (he qualified 11th but benefited from Nico Hulkenberg's grid penalty) en route to a second-place finish and his first podium in 35 races.
"I ran as high as third during the first stint, but in hindsight it was probably an error to make our first pit stop so early," said Button.
"Both Kamui and I were compromised behind a Toro Rosso, and that cost both of us a bit of time to Felipe.
"He'd started on a brand-new set of tyres, and that makes a big difference: you can go longer and keep the speed up, so he was able to jump both of us after the first stops.
"I could get close to Kamui, but the only way I was going to get into the DRS zone [which aids overtaking] was by braking extra-late into the chicane, and, every time I tried, I locked up and ran wide.
"Still, this result isn't too bad - we got some more points - we just didn't have the pace to go for the win today."
Button's team-mate Lewis Hamilton, racing for the first time since his was confirmed, rose from eighth to fifth in an unusually uneventful grand prix for the 27-year-old.
"I was very fortunate to stay out of trouble at the start; there were lots of cars going off the track, so I just concentrated on bringing the car through undamaged," he said.
"I pushed as hard as I could throughout the whole race. This just wasn't the weekend for me. With better qualifying, we can get better results - and that'll be our aim in South Korea next week."
Sauber's Sergio Perez, who will replace Hamilton at McLaren, spun out on lap 20 after trying to pass the Briton.
"I feel very sorry for the team," said the Mexican. "It worked well when I got past Hamilton for the first time on lap six, but then it didn't when I tried it again.
"Lewis went quite late to the inside and I had only room on the outside. But it certainly was my mistake."
A place behind Hamilton was Kimi Raikkonen of Lotus and he remains third in the title standings, 37 points behind Alonso.
"Sixth wasn't the result we were hoping for but unfortunately we didn't have the speed to do better," explained the Finn.
"Overall it was quite a difficult race but the good thing is we still managed to score points to stay in touch in the championship."
Eighth-placed Pastor Maldonado collected his first points since on 13 May, ending a run of nine races without scoring for Williams.
"We're back in the points so I'm happy with that as it gives us great confidence going into the next race," said the Venezuelan.
The final point went to Toro Rosso's Daniel Ricciardo, who held off the to cross the line in 10th.
"It's not every day you have a seven times world champion on your tail," smiled the Australian.
"Given he only has a few more races, it was nice to have a battle with him to put in my scrapbook."