Новоселовский район расположен на юго-западе Красноярского края на границе с республикой Хакасия. Территория, занимаемая районом - 3880,066 км² и имеет довольно округлые очертания, протягиваясь с севера на юг на 80 км и с запада на восток на 100 км.
Район граничит с семью районами Красноярского края и республики Хакасия: Балахтинским районом, Идринским районом, Краснотуранским районом, Боградским районом, Ужурским районом, Ширинским районом, Орджоникидзевским районом.
Общая протяжённость границ района около 310 км, из них около 50 км — по Красноярскому водохранилищу, 70 км — по Чулыму. Северным и северо-восточным соседом района является Балахтинский район. Протяжённость границы с ним - 130 км. На востоке и юго-востоке Новосёловский район граничит с Краснотуранским районом протяженность границы с ним - 60 км. На юго-западе 80 км границы отделяют район от республики Хакасии и, наконец, северо-западный сосед — Ужурский район, граница с ним составляет 40 км.
Территорию района пересекает с юга на северо-восток Красноярское водохранилище и делит район на правобережную и левобережную части, площадь которых 1900 и 1500 км² соответственно. Площадь водохранилища в пределах района около 430 км².
Важной особенностью географического положения Новоселовского района является его местонахождение в центре земледельческой части края с благоприятными агроклиматическими ресурсами и плодородными почвами.
Также немаловажным является то, что район расположен на автодорожной трассе федерального значения Красноярск – Абакан – Кызыл – Чадан – Хандагайты государственная граница с Монголией.
В состав района входит 8 сельских поселений – 30 населённых пунктов.