Kunming’s many bus stations are scattered around the city perimeter, generally at the point of the compass relevant to the destination. They are all a long way out: allow plenty of transit time, even in a cab, especially during rush hours (about 7–9am and 5–7pm). Agents in town might be willing to buy tickets for a fee, otherwise you’ll have to get out to the stations yourself.
The Western bus station (西部汽车客运站, xībù qìchē kèyùn zhàn), also known as Majie bus station (马街客运站, mă jiē kèyùn zhàn), is 10km out towards the Western Hills. It deals with traffic to Xiaguan, Lijiang, Deqin, Shangri-La, Tengchong and Ruili. On arrival, catch bus #82 to the western end of Nanping Jie or bus #C72 to Kunming train station; a taxi is ¥30.
The South bus station (南部汽车客运站, nánbù qìchē kèyùn zhàn) is 15km southeast, past the airport, with departures to Xishuangbanna, Jianshui, Yuanyang and Luang Prabang in Laos. Take bus #C71 to Kunming Train Station, or a taxi for ¥45.
The East bus station (东部汽车客运站, dōngbù qìchē kèyùn zhàn), 10km out, is for services to Shilin and points east, plus Hekou on the Vietnam border. Bus #60 runs to Kunming train station via Bailong Lu; a taxi costs ¥30.
Finally, unless arriving from Panzhihua in Sichuan, you’re unlikely to find yourself at the North bus station (北部汽车客运站, běibù qìchē kèyùnzhàn), from where bus #23 heads through town via both train stations; or the Northwest bus station (西北部汽车客运站, xīběibù qìchē kèyùnzhàn), not linked to the city by any useful bus; catch a cab (¥35).