The result sees Vettel still in the lead of the driver's championship but only by nine points over Hamilton, the two tallying 54 and 45 points, respectively, after the first three rounds.
Bottas admitted feeling a bit hard done by in his 100th grand prix, particularly since the timing of the safety car's deployment didn't allow him to stop for tyres when the Red Bulls did. However, neither Mercedes nor Ferrari reacted to the safety auto with their second drivers, leaving Lewis Hamiton, who was running third, and Kimi Raikkonen - fifth after the safety vehicle pitted - to struggle to the end on used rubber.
Sebastian Vettel had taken both of the opening races of the season, but could finish only eighth after he sustained damage to his vehicle during his coming together with Verstappen.
Unlike their rivals, Ricciardo and Verstappen dived into the pits to take on fresh rubber, and the gamble worked for Ricciardo as he passed Kimi Raikkonen, Lewis Hamilton, Vettel and finally Bottas for a quite remarkable win.
It looked like the win would be decided between Mercedes and Ferrari once again, until the safety vehicle handed a strong advantage to Red Bull, whose drivers started cutting through the front-runners at a frantic pace in the closing stages of the race.
Niko Hulkenberg crossed the line sixth ahead of Fernando Alonso, who maintains his run of points finishes to start the 2018 season.
Verstappen was still going and soon took overtook Hamilton for the second time to retake fourth place, though his time penalty meant the Dutchman ultimately finished in fifth place. On the winner's podium after the race, the Australian celebrated with his customary "shoey" to the delight of the waiting fans.
"Twenty-four hours ago I thought we might be starting at the back of the grid". Lewis Hamilton dropped back to fifth, as the first portion of the race passed without much incident.
But the safety vehicle threw in a curve ball and Red Bull grabbed their chance.
"We are the second-or third-fastest team at the moment, so we have some improving to do, but that's not impossible".
"It was hectic, I heard safety auto [was being called] in T14".
"We have been underperforming".
"Saturday and Sunday felt like a disaster from my side", Hamilton said. We had the soft tyres, so I knew I could get more out of the braking than them.
Although he may be disappointed not to taste a win, he did extremely well to defend from Vettel and Raikonnen for long spells of the race. Kimi Raikkonen was third for Ferrari. I was expecting him to come earlier.
"That was obviously giving us a good little bit of grip on the restart", Ricciardo said.
"When you compete in more races you should get more clever - especially when you want to win or challenge for the championship - but he is going the other way".
But the Perth man looked inspirational in China, going from P6 to first in a matter of laps after benefitting from fresh tyres during the safety auto.
"This is racing, these things happen".