Первомайский район расположен на северо-востоке Томской области, в 110 км от города Томска.
С востока район граничит с Тегульдетским, с юга с Асиновским и Зырянским, запада с Асиновским и Молчановским, с севера Верхнекетским районами.
Административный центр Первомайского района находится в с. Первомайское.
Общая площадь района составляет 1 555 418 га.
В состав Первомайского района входит 6 поселений, которые включают 45 населенных пунктов, на территории района на 01.10.2008 года проживает 20304 человека.