Bacca, 29, bundled home the winner on 31 minutes, nudging in from close range to settle a hard-fought contest yesterday.
The US, beaten 4-0 by Argentina in the semi-finals on Tuesday, rallied desperately to get back into the game but ultimately were frustrated by some superb goalkeeping from David Ospina.
It was the second time the US had been beaten by Colombia in this tournament. The Colombians also defeated them 2-0 in the tournament's opening match.
However they were unlucky not to score during an entertaining game in Arizona.
More From This Section
Colombia had gone closest to scoring first, Real Madrid star James Rodriguez being denied by a fine Tim Howard save on 12 minutes.
Rodriguez was the architect for Colombia's goal just after the half hour mark, chipping a wonderful pass into the path of Santiago Arias, who headed across the six yard box for Bacca to score.
Seattle Sounders veteran Clint Dempsey, arguably the best US player of the tournament, had another good game but was unable to add to his Copa tally of three goals and three assists.
Dempsey almost laid on a goal for Hamburg's Bobby Wood, but the Bundesliga-based striker was unable to get his shot away cleanly.
US coach Klinsmann later bemoaned his team's inability to finish off any of the several chances created throughout.
"Ultimately they were clinical," Klinsmann told reporters.
However Klinsmann was satisfied with what he described as a successful campaign.
"The players realised tonight that if they raise the level of commitment and aggressiveness they can compete with these kinds of teams," Klinsmann said.
"Getting in the final four of such a huge competition is a wonderful achievement and they should be very proud of themselves."
The final of the Copa America takes place on Sunday, with Argentina facing Chile in East Rutherford, New Jersey.