The Ducati Lenovo Team rider finished fifth at Jerez but had sat in third position from the first corner until Lap 21, as team-mate Francesco Bagnaia and Monster Energy Yamaha's Fabio Quartararo disappeared up the road.
It was then that Marc Marquez and Aleix Espargaro, who had been stalking #43 for some time, made their moves.
While the former would barely keep his Repsol Honda upright just a few corners later, dropping back to fifth, he was able to re-pass Miller on the 25th and final lap.
“I'm happy enough, I felt I rode pretty well, but finishing fifth when you've been third for a lot of the race is a bit of a shame,” he wrote in his post-round column.
“But, saying that, I was pretty happy with the performance.
“Doing nearly 22 laps with ‘+0 Marquez' on your pit board is a pretty stressful deal, that's for certain!”
Miller suggested that he was wanting for right-hand edge grip from early on the race, but was encouraged by being in the battle for the podium yet again, even if he did crash out of the previous race, at Portimao.
“I wish I could have been fighting for the podium at the end, but that's three races in a row now that we've been in the mix for the podium with here, Portimao and Texas,” he added.
“My bike has been good three [rounds] in a row now, so that's a positive I can take out of today.
“MotoGP is just so competitive at the moment… 11 of us have been on the podium now and there's some guys who haven't that you know will be at some stage this year.
“Besides some of the rookies, I think everybody has a chance.”
Bagnaia would have just enough pace to prevent an attack from Quartararo as he took his first win of the year, with Espargaro finishing almost 11 seconds behind on his Aprilia, ahead of Marquez and Miller.
In the championship, Bagnaia has jumped to fifth, albeit 33 points behind leader Quartararo, while Miller is another 14 points back in 11th.
There is a test back at Jerez this evening (AEST), before the French Grand Prix takes place on May 13-15.