According to the United States Census Bureau, the town has a total area of , of which is land and , or 0.08%, is water. The eastern half of the town drains mainly via Gridley Creek to the Tioughnioga River, which flows southwards and is part of the Susquehanna River watershed, which empties into the Atlantic Ocean through the Chesapeake Bay. Water from a small southern part of the town flows south towards the East Branch of Owego Creek, also part of the Susquehanna watershed. The western half of the town, part of the Allegheny Plateau, drains primarily via Virgil Creek, as well as other streams, westward to Fall Creek, part of the Cayuga Lake watershed leading north towards Lake Ontario and thence to the Atlantic Ocean via the Gulf of St. Lawrence. Virgil Creek, which shares a through-valley with Gridley Creek, is notable for rising above the Valley Heads Moraine and cutting through it from above.