Сражение при Кремсе 11 ноября 1805 года оставило за собой спорные результаты, пошли слухи о неудаче Наполеона. В итоге французский император решил нанести решительный удар Кутузову и взять Вену. Последнее ему удалось: 13 ноября армия Наполеона вошла в австрийскую столицу. О падении города Кутузов узнал от разведчиков и понял, что нужно двигаться в сторону Брюнна. Чтобы задержать противника он направил отряд под командованием Багратиона в сторону городка Холабрунн.
Готовясь к обороне Багратион решил занять более выгодную позицию и разместил войско за ручьем в деревне Шенграбен неподалеку от Холабрунна. Силы русского арьергарда насчитывали 7300 солдат и 12 орудий.
Перед началом битвы французский маршал Иоахим Мюрат допустил ошибку: он посчитал, что перед ним стоит вся русская армия под командованием Кутузова, а не один лишь отряд. После первых перестрелок он послал к Багратиону гонца и предложил заключить перемирие. В переговорах прошли сутки, благодаря которым Кутузов выиграл время на то, чтобы увести армию. Когда Наполеон узнал о том, что сделал Мюрат, то пришел в ярость и приказал маршалу атаковать русских без промедления.
Ту самую депешу французского императора цитировал Лев Толстой: "Я не могу найти слов, чтобы выразить вам мое неудовольствие. Вы командуете только моим авангардом и не имеете права делать перемирие без моего приказания. Вы заставляете меня потерять плоды целой кампании. Немедленно разорвите перемирие и идите против неприятеля. Вы объявите ему, что генерал, подписавший эту капитуляцию, не имел на это права, и никто не имеет, исключая лишь российского императора. Впрочем, если российский император согласится на упомянутое условие, я тоже соглашусь; но это не что иное, как хитрость. Идите, уничтожьте русскую армию".
Бой под Шенграбеном начался рано утром 15 ноября. Мюрат рассчитывал на стремительную победу, однако русским артиллеристам удалось поджечь деревню в ответ на французский обстрел. Пожар заставил солдат Мюрата спешно перетаскивать свое снаряжение и немного сдержал атаку.
Русский арьергард отступал, сжимаемый французами с обоих флангов и с центра. Багратион понимал, что отряд ждет верная гибель, но сохранял хладнокровие, подбадривая войско и не теряя управления. В селении Гунтерсдорф Багратион оставил новый арьергард из двух батальонов, который сдержал французов и позволил русским войскам пройти через это место.
Ожесточенный бой в тесном пространстве продолжался до полуночи. Темнота дала шанс для неожиданной хитрости: русские офицеры, в совершенстве знавшие французский, вводили неприятеля в заблуждение, уверяя, что те стреляют по своим.
Когда стало понятно, что армия Кутузова упущена, Наполеон приказал прекратить огонь. Багратион продолжил отступление и вскоре соединился с основным войском в Погорлице. Под Шенграбеном русские потеряли свыше 1200 убитыми и более 1400 пленными. Изначально безнадежный для них бой завершился серьезными потерями и для противника: 1200 убитыми и 59 пленными. Свою задачу арьергард Багратиона выполнил героически: он сдержал французов, прикрыл собой отступающую армию Кутузова и позволил ей оторваться от противника на два перехода. В числе трофеев было взято также французское знамя.
18 ноября Кутузов вошел в Брюнн, затем соединился с подкреплением и войсками австрийцев. Армию удалось сохранить настолько, насколько это было возможно. Впереди была решающая битва при Аустерлице.