Село Веселое находится на левом берегу реки Лозовая в месте впадения её в реку Бритай.
Выше по течению на расстоянии в 3 км расположено село Светловщина. Выше по течению реки Бритай на расстоянии в 2 км расположены сёла Долговое и Михайловка, ниже по течению на расстоянии в 2 км расположено село Смирновка.