The Moy rises at the foot of the Ox Mountains in County Sligo. It flows for . For the greater part of its length, it flows southwestward, entering County Mayo and passing near Swinford before passing throgh foxford then turning north near the village of Kilmore and heading for the town of Ballina, where it enters the Atlantic Ocean at Killala Bay. The Moy Estuary is long beginning at Ballina and running into Killala Bay.