Miller, who will step up to a factory Ducati ride next season, spent the first 19 laps of the 25-lap Jerez race inside the top three after making a strong start from fifth on the grid.
He ran as high as second behind eventual race winner Fabio Quartararo after passing the struggling Yamaha of Maverick Vinales on lap nine, and held the position until the Spanish rider repassed him some 10 laps later.
Miller dropped to fourth when a recovering Marc Marquez passed him on lap 20, and although he gained the place back when Marquez crashed two laps later, the Australian was finally denied the final podium spot by works Ducati man Andrea Dovizioso.
Jack Miller, Pramac Racing
Gold and Goose / Motorsport Images