The South African team trailed at half-time, but scored the last 16 points of the match in slippery conditions to overpower the home side and notch their third win in eight games this season.
The Force, who led 15-8 early in the second half, have now lost seven games in succession and are suffering a terrible season.
Their only win was in the opening round, when they beat defending champions the Waratahs.
Cheetahs captain Francois Uys said the hard work of his team's forwards set up the win, with the wet conditions ultimately suiting their defensive mindset.
He was delighted the Cheetahs had ended a testing four-match tour with an overdue win that keeps their season alive.
“I thought it was great the way the guys stuck to their guns,” he said.
“It has been a tough tour and I am immensely proud of the guys.
“We had to make a lot of tough tackles and we did, we defended well.”
Willie le Roux and Heinrich Brussow ran in tries for the Cheetahs, but the accurate boot of Joe Pietersen was the difference between the sides.
Pietersen scored 14 points and turned the match with a long drop goal in the 50th minute that cut the margin to just one point and inspired his team.
The Force dominated possession in the first half and looked in control when Chris Alcock drove over for their second try in the 43rd minute.
However, Luke Burton missed a relatively easy conversion that would have extended the margin beyond a converted try and it proved to be the Force's last chance to score.
Force skipper Sam Wykes was disappointed his team lost its way.
“We played a lot of footy and got a couple of tries, but we didn't carry on with it,” he said.
“They didn't have to defend enough.” – AFP
Original source: Cheetahs too strong for Western Force