Train
Suburban trains to/from Tula go from Moscow’s Kursk Station. The trip may take about 4 hours. There are also long-distance trains heading for Kursk or Ukrain that stop at Tula and are considerably faster (about 2 hours).
Bus
There are several daily buses from Moscow’s Shchyolkovsky bus station, taking 4,5 hours.