The river flows north for 150 kilometers from the Mamaku Ranges past the towns of Putaruru, Te Aroha, Paeroa and Turua, before reaching the Firth of Thames at the south end of the Hauraki Gulf near the town of Thames.