The contract for construction of Kangaroo Flat station was let in 1862. In 1904 it was renamed Kangaroo, being renamed to the original name in 1916. By 1926 facilities included a signal frame, a pair of side platforms on the double track, a goods siding and shed on the eastern side of the line, and a crossover between tracks. In 1938 the stationmaster was withdrawn, being worked by the Porter-in-charge under Caretaker conditions.
From 1889 the station had been a block point under the Winters Block system, being capable of 'switching out' in times of quieter traffic. This status remained until 1980, when the signal box was only 'switched in' when required. In 1987 the signal box was closed, and all points and signals removed.
After a fire at in in 1999 caused extensive damage, the station building was left unused and only two trains per weekday stopped at the station. The Regional Fast Rail project saw the line though the station closed in 2005, not being reopened until 2006. The line towards Melbourne was singled, with the line becoming double track at the Melbourne end of Kangaroo Flat and continues until Bendigo, being worked by the signal box there. The decision to single the line was criticised by both rail enthusiasts and communities along the line.
From April 27, 2008, the Bendigo line timetable was altered to provide 168 extra train services a week at the station, 17 each weekday. The station is staffed for ticket sales Monday to Friday until lunchtime, and 140 bus services stop at the station providing connections to shops and residential areas. There was also a community campaign to reopen the station. A temporary car park was constructed, with a permanent car park due by mid 2008. Works are still to be completed on the carpark.