El Calafate is 510 miles (316 km) from Rio Gallegos and right next the the longest road in Argentina, the route 40 which runs along the Andes. Since 2000 it also possible to fly into the International airport of El Calafate that offers direct flights from Buenos Aires, Ushuaia, Puerto Madryn and Bariloche.
Some bus companies such as Tirsa, TUS, Don Otto, Mercedes, Via Bariloche, Andesmar, TAC provide service to and from Buenos Aires, other Patagonian destinations, and other Argentine cities.
From Buenos Aires, take the national route 3, and drive for about 860 miles (1,385 km) to Puerto Madryn. Continue on route 3 until Comodoro Rivadavia and then head west on route 26 until Rio Mayo to get to route 40 which will take you to El Calafate.