If you’re at Bromo/Cemoro Lawang and need to get back to Jakarta, the only feasible route (as of April 2017) is through Probolinggo and Surabaya.
Your first step is to catch a minivan from the center of Cemoro Lawang that will take you down the mountain for ~40,000 IDR ($3.00 USD). On paper these vans leave every hour, but realistically they leave when they’re full (about 13 people). It will help you to recruit others going down so you’ll leave sooner, or you can all agree to pay your driver more money to leave earlier.
If the road to hell is paved with good intentions, then there weren’t many good intentions to be had when they paved the road down to Probolinggo. It’s bumpy, windy, and your driver will go fast. Buckle up (if you can) and enjoy the ride. You’ll pass tons of adorable little villages, where at midday uniformed schoolchildren crowd the streets as they walk home for lunch. Whizz past them and fear for their safety with drivers like yours on the road.
In Probolinggo, the van driver will drop you on the street across from the Probolinggo bus station. Ignore everyone trying to help you with your luggage, signs advertising bus tickets (there’s a markup), and men trying to call you over and go straight into the bus station. The bus you want will say Surabaya, but you can double check by asking other people on the bus for Surabaya.
Now here comes the hard part: ONLY pay the ticket collector once the bus is moving. Ignore the guy or pair of guys that board the bus and tell you to pay for a ticket from them. Do not hand over money for the official-looking bus ticket in their hand. It is a scam targeting foreigners and that is a fake bus ticket. If they get angry at you, stay calm. If they yell at you to get off, get off the bus and stand in front of it. The real bus driver will have a laugh at the scammers’ failure and usher you back on the bus. ONLY hand over your money once the bus is moving, and give it ONLY to the guy you see all of the locals paying. And check your change, as he may try to shortchange you. A ticket from Probolinggo to Surabaya cost 20,000 IDR ($1.50 USD) in April 2017, and you can always ask ‘harganya berapa di Surabaya?’ (“How much to Surabaya?”) to a person next to you.
Phew. Made it to Surabaya? Then you’re past the difficult part. You’ll likely be dropped south of city proper at Purabaya Bus Station, and it’s up to you to take a bus to the train station or airport. There is a WONDERFUL info booth in the bus station where the staff know some English, so politely decline the taxi callers and make your way there. As of April 2017 the bus to the train station was the P5; it cost 6,000 IDR ($0.45 USD) for a ride and took about 30 minutes. We had no scam problems, but it’s literally crazy taxi bus edition, so sit at the front for the 90 km-an-hour ride of your life along Surabaya freeway.
You’ll get off on the West side of the train station, which as far as we could tell had no actual entrance. You’ll have to find your way around to the other side of the station with a map or asking the super-nice locals. There aren’t really cheap street eats at the train station, but there are a couple of cafés and minimarts nearby. After buying your tickets, head over to stock up on snacks for the overnight ride back to Jakarta.