Родился 30 июня 1900 года в татарском селе Альвидино (ныне Татарстан). Происходил из крещёных татар. Рано потерял отца, в 15 лет ушёл в Казань, где работал на заводе и участвовал в революционных событиях.
1918 – Вступил в Красную Армию, воевал против Колчака и Деникина
1925 – Окончил Владикавказскую пехотную школу
1939 – Участвовал в Советско-финской войне
1941 – Командовал 44-м стрелковым полком в Брестской крепости
22 июня 1941 года началась война. Крепость оказалась в глубоком тылу врага, но Гаврилов организовал оборону:
Немцы, взявшие его в плен, были потрясены:
"Это был скелет, обтянутый кожей... Но час назад он один стрелял в нас, убил нескольких солдат!"
1941–1945 – Прошёл через лагеря Хаммельбург и Равенсбрюк
1946 – После проверки лишён звания и наград (как бывший пленный)
Работал чернорабочим, жил в полуземлянке в Краснодаре
1950-е – Писатель Сергей Смирнов вернул ему имя героя
Улицы в Казани, Бресте, Краснодаре
Музей в родном селе Альвидино
Пик в Тянь-Шане назван его именем
Фильмы: "Брестская крепость" (2010), "Битва за Москву" (1985)
"Он сражался не за награды, а за свою землю. Даже когда земля эта на время забыла его."