Bolton win 5-4 on penalties
Ivan Campo scored the winning penalty in a shoot-out to send Bolton into the final of the Asia Trophy in Bangkok.
The Spaniard's spot-kick set up a final against Thailand after Bradley Wright-Phillips had blasted his effort over for Manchester City.
City took the lead shortly before half time when Joey Barton tucked away Trevor Sinclair's cut-back.
Bolton replied after the interval when Kevin Davies blasted home from Kevin Nolan's cross.
Sam Allardyce's side face Thailand on Saturday, while City will face Everton in the third/fourth place play-off.
Thailand earlier beat Everton in the searing heat of the day and though the temperature in the Rajamangala Stadium had dropped for Bolton and City, humidity was high and the first half was played at a pedestrian pace.
Bolton engineered the first clear chance 10 minutes before half-time when Gary Speed sent a free header wide.
City responded immediately when Barton, playing in an attacking triumvirate with Sinclair and Wright-Phillips, surged into the penalty area.
He provided a perfect cut-back for Wright-Phillips, but the the 20-year-old shot straight at Bolton keeper Jussi Jaaskelainen.
City took the lead five minutes later when this time Sinclair pulled the ball back from a similar position and Barton was in the middle to tuck it away.
Bolton began the brighter in the first half and were rewarded through Davies' unstoppable effort.
Wright-Phillips, deemed a better finisher than his brother Shaun, might have restored his side's lead when he jinked into the area but once again he made Jaaskelainen's life easy.
And the young attacker's evening came to a disappointing end when his missed penalty proved decisive in the shoot-out.