Desaguadero is a border region between Bolivia and Peru, on the shore of Lake Titicaca. Both tiny Bolivian and Peruvian towns bear the same name.
Crossing independently through Desaguadero is often the cheapest way to travel between the two countries.
In spite of the flow of travelers, most just stay for as long as it takes to get through both border controls and resume their trip, and neither town is much of a tourist destination. However, there seems to be a bit more life on the Peruvian side than the Bolivian side.
Bolivia and Peru are in different time zones: Bolivia is one hour ahead of Peru.
On the Bolivian side, virtually all transport comes/goes from La Paz. El Alto region is a little over 1h away, and the Cementerio stop in downtown La Paz is 2 hr away. Shared vans (leave when full) charge Bs. 15 per person (Oct 2018), and they congregate a few blocks from the border.
On the Peruvian side, coaches call at the bus terminal north of the border.
Leaving from Desaguadero, the following services were advertised at the terminal as of October 2018:
to Arequipa: 09:30 (Julsa), 10:00 (Civa), 18:00 (Friday only, Wayra), 20:00 (Wayra, s/30 semi-cama and s/40 cama), 20:30 (Julsa, s/25 conventional service)
to Lima: 09;30 (Julsa s/90), 11:30 (Civa), 11:50 (Julsa)
to Cuzco: 13:00 (Friday only, Civa) There's only one route: Desaguadero - Puno - Juliaca - Arequipa - ... - Lima. So all services to Arequipa call at Puno and Juliaca, and all services to Lima call at the cities before. However, to Puno it seems better to just take a shared van (leave when full) near the border.
Vans to Puno, -16.561979°, -69.03737°. Shared van service to many destinations congregate in a parking lot north of the border post. There are signs indicating each destination, but someone will shout Puno at you before you can locate them. It's said the vans take 2 hr to reach Puno, against 3 hr by bus. Per person, s/25. 2018-10-14 Many bus companies have offices in front of this van parking lot, making it easy to shop around.
From the point the La Paz van drops passengers, to the immigration posts, to the bus station on the Peruvian side, everything is at walking distance.
Pedicabs and motocars (tuk-tuks) are plentiful on the Peruvian side — you can find them right near the border. The going rate to cover the 850 m separating the border post from the bus station is s/1 (October 2018). Walking there is easy and takes about 10 min.
Transit between the twin towns is free, and you'll see lots of people crossing the bridge without stop at the immigration. Don't be fooled, they are locals. Everybody is required to complete immigration procedures if traveling further.
Immigrate! Make sure you go through passport control on both sides — it's easy to miss one if you're not paying attention.
For pedestrians, these below are the ones to go. For vehicles, there is a larger bridge a few blocks south.
Currency exchanges are present on both sides, where you can buy your bolivianos or soles. There is a whole line of them on the Peruvian side.
There are lots of stands selling food and drinks on the Peruvian side. There are even some people selling fruit on the bridge itself!
Lodging is available on both sides of the border.
If you need to make some last-minute copies of visa forms, don't worry—there are photocopy places near passport control on both sides of the bridge.
You're surely on your way somewhere else already, likely Puno or Cuzco in Peru, or La Paz in Bolivia.
Primary administrative division