Улан-Удэ расположен в Западном Забайкалье, при впадении реки Уды в Селенгу, в ста километрах к востоку от Байкала. Город раскинулся в Иволгино-Удинской впадине, которая представляет собой зажатую между горами слабохолмистую равнину, вытянутую с юго-запада на северо-восток, и ограниченную с северо-запада отрогами хребта Хамар-Дабан, с севера — хребтом Улан-Бургасы, с юго-востока — хребтами Ганзуринский и Цаган-Дабан.
Город является центром Улан-Удэнской агломерации, включающей в себя 4 муниципальных района Республики Бурятия, прилегающих к столице: Иволгинский, Прибайкальский, Заиграевский, Тарбагатайский.
Климат города умеренный резко континентальный засушливый, что объясняется его удалённостью от больших водоемов (в частности, озеро Байкал от города заслоняют горные хребты Хамар-Дабан и Улан-Бургасы), расположением города в межгорной котловине и нахождением его в центре обширного евразийского материка.
Для города характерен высокий уровень солнечной радиации, так ежегодное число часов с солнцем здесь очень высоко (более 2400 часов) и по этому показателю город примерно соответствует таким южным городам России как Анапа или Находка.