The nearest airport is at Khon Kaen, about 90 minutes away by bus. Flights connect Khon Kaen to Bangkok. From Khon Kaen's bus station, buses run to Mahasarakham every hour or so.
Direct buses from Bangkok's Northeastern Bus Station (Mo Chit) take about eight hours, with both daytime and overnight services. The night train from Bangkok to Khon Kaen is another option — arrive early morning and catch a bus onward.
Within the Isan region, frequent cheap buses connect Mahasarakham to Khon Kaen, Roi Et, and other nearby towns.