Justice minister Pracha Promnok, responsible for overseeing nationwide relief efforts in the wake of Thailand's worst floods in half a century, received 273 votes of support, against 188 votes in favour of the motion.
Of those present, five lawmakers abstained and 15 did not cast their votes.
Pracha emerged as one of the most visible faces of Prime Minister Yingluck Shinawatra's fledgling government, which faced criticism for its slow response and confusing public advice about the natural disaster.
The opposition had claimed Pracha's work as director of the government's Flood Relief Operation Command was inadequate and that the state's flood aid budget and private donations had been embezzled by ruling party officials.
"The widespread floods were not only caused by nature, but also by a failure of the Flood Relief Operation Command to deal with the situation," opposition Democrat Party lawmaker Jurin Laksanavisit told parliament Sunday.
Pracha went straight into a parliamentary meeting after the vote and was not available for comment. The current parliamentary session ends on Tuesday.
Pracha had defended his record and denied the corruption allegations, telling parliament that ruling Puea Thai lawmakers had worked tirelessly to help constituents during the floods, which have left more than 600 people dead.
The government had been widely expected to win the no confidence vote.
The Puea Thai party holds 265 seats in the parliament, and has formed a coalition with five other parties, giving them an absolute majority of 300 lawmakers out of a 500-seat parliament.