Родился 26 декабря 1922 года в селе Титовка (ныне в черте города Шебекино) Курской (ныне Белгородской) области в семье рабочего. Русский. Окончил 9 классов. После окончания художественной школы в городе Донецк работал художником в Доме отдыха «1-е Мая» и на Шебекинской фабрике-кухне.
В Красной Армии с 8 сентября 1941 года. С этого же времени на фронте. Был стрелком, командиром группы блокировщиков десантов врага, командиром взвода связи, командиром взвода автоматчиков морской пехоты, командиром стрелковой роты. В 1942 году окончил полковую школу, в 1943 году - курсы младших лейтенантов. Воевал на Юго-Западном, Южном, Юго-Восточном, Сталинградском, Северо-Кавказском фронтах, в Отдельной Приморской армии, на 3-м и 2-м Украинских фронтах. Член КПСС с 1945 года. В боях трижды ранен.
Участвовал:
- в оборонительных боях в районе городов Шебекино, Волчанск, на реке Айдар, в выходе из окружения за Дон – в 1941-42 годах;
- в боях в степях Калмыкии на Астраханском направлении – в 1942;
- в боях за город Керчь, в освобождении южного крымского побережья, города Севастополь, в Ясско-Кишинёвской операции, в том числе в освобождении городов Татарбунары, Галац, в освобождении Румынии, Болгарии, в боях в Югославии в крае Воеводина и в районе городов Зренянин и Вуковар – в 1944;
- в боях в Венгрии и Австрии, в том числе за города Будапешт и Вена – в 1945.
Командир взвода автоматчиков 305-го батальона морской пехоты лейтенант Мочалин с бойцами высадился 8 декабря 1944 года в глубоком тылу врага у города Вуковар (ныне Хорватия) и перерезал важную дорогу, преградив, тем самым, пути отступления фашистам и дезорганизовав их тылы. Более 2-х суток его взвод удерживал захваченный рубеж, отразив 12 атак противника. В ходе этого сражения лейтенант Мочалин лично уничтожил 2 самоходные установки, танк и несколько десятков фашистов.
С Указом Президиума Верховного Совета СССР от 20 апреля 1945 года за образцовое выполнение боевых заданий командования на фронте борьбы с немецко-фашистскими захватчиками и проявленные при этом мужество и героизм лейтенанту Мочалину Николаю Гавриловичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда».
В июле 1945 года окончил Курсы усовершенствования офицеров пехоты в городе Красноярск. Служил начальником 4-й части Кировского РВК города Красноярск. С сентября 1946 года старший лейтенант Мочалин — в запасе. Жил в городе Шебекино. Работал на руководящих должностях в пожарной охране Шебекинского района и в Отделе пожарной охраны УВД Белгородской области. С 1964 года – на заслуженном отдыхе. Капитан (04.04.75). Вёл большую военно-патриотическую работу среди молодёжи. Умер 2 марта 2001 года. Похоронен в Шебекино.
Н.Г.Мочалин удостоен звания «Почётный гражданин города Шебекино». Имя Героя помещено на мемориальном комплексе в городе Николаев. В честь Н.Г.Мочалина названа одна из улиц города Шебекино.
Награжден орденами Ленина, Красного Знамени, Отечественной войны 1-й степени, Красной Звезды и медалями.