An eventful race saw Ricciardo trail Hamilton home to take the second step on the podium for the third year in a row at the Marina Bay circuit.
The Red Bull driver lost out to Hamilton at the start of the race, and was then unable to match the pace of the Mercedes driver in damp conditions.
A number of safety car periods bunched the pack, though even still Ricciardo never had the pace to launch an attack.
“I can't win the bloody thing,” Ricciardo joked after the race.
“Today we didn't probably have that Friday pace we showed in practice to have the pace on the Mercedes.
“A little bit disappointed to miss out on a win but I've still got to be pretty grateful and happy with another podium.”
“I just kind of watched the chaos unfold in front of me,” Ricciardo said.
“It's was probably a good thing I had a bad start, otherwise I probably would have got caught up in it.
“(It) just looked like three were trying to go into one. I don't know whose fault it was, but it was just too close.”
With Vettel out of the race, Hamilton extended his lead in the championship to 28 points, while Ricciardo recorded his third consecutive second place finish in Singapore, and his seventh podium of 2017.