21 октября 1968 года на экраны вышла драма «Служили два товарища» по сценарию Юлия Дунского и Валерия Фрида. Соавторы были друзьями детства, вместе учились в школе и во ВГИКе, а с началом войны записались добровольцами на фронт.
Правда до фронта они так и не доехали — по дороге были арестованы «за принадлежность к антисоветской молодёжной группе и террористические намерения» и отправлены в лагеря. Именно там Дунский и Фрид познакомились с теми, чьи рассказы и судьбы потом стали основой сценария «Служили два товарища». За экранизацию взялся режиссёр Евгений Карелов, который загорелся идеей снять картину к юбилею штурма белогвардейского Перекопа — последней крупной битвы Гражданской войны.
Главный герой — военный «киносъёмщик» Андрей Некрасов — отчасти был списан с лётчика Николая Васильченко, который в 1920 году пролетел на одноместном самолёте под обстрелом и первым сделал аэрофотосъёмку Перекопских укреплений. Во время полёта у него остановился мотор, он с трудом прошёл линию фронта и совершил жёсткую вынужденную посадку.
Поручик Александр Никитич Брусенцов получил своё имя в память о лагерном друге Юлия Дунского. Следы бывшего лейтенанта РККА затерялись в ГУЛАГе. Сценарист надеялся, что Брусенцов увидит фильм и отзовётся, но на связь никто так и не вышел. А Валерий Фрид увековечил в картине память своего отца — выдающегося микробиолога Семёна Марковича. Драматург сам сыграл врача, которого звали точно так же.
На «Мосфильме» возникла заминка с подбором актёров. Руководство было категорически против участия Георгия Юматова, которого режиссёр хотел пригласить на пробы. Актёр сильно пил и уже был в чёрном списке многих киностудий. Кандидатура Ролана Быкова начальству тоже не понравилась — в его внешности не видели ничего героического, но Карелову удалось его отстоять.
На пробы были приглашены братья Янковские — актёр минского театра Ростислав и недавно дебютировавший в фильме «Щит и меч» Олег. Ростислава режиссёр видел в главной роли, а Олегу предложили стать Брусенцовым. Но молодой актёр прочитал сценарий и так загорелся желанием сыграть Некрасова, что на пробах никак не мог вжиться в образ белогвардейского поручика и выдавал военного фотографа. Режиссёр посмотрел пробы, понял в чём дело и закричал: «Нет, этого человека мы Врангелю не отдадим!». В результате Олега Янковского утвердили на Некрасова, а Ростислав Янковский сыграл полковника Васильчикова.
На роль Брусенцова режиссёр позвал Владимира Высоцкого, которого никогда не утверждали без проблем. Карелову пришлось привезти на киностудию авторитетного мэтра советской режиссуры Михаила Ромма, который перед всеми заявил, что Высоцкий идеально подходит для этой роли. Только после этого руководство согласилось с его кандидатурой. Однако Бруснецова сильно порезали на монтаже — якобы белый офицер не должен был перетягивать на себя внимание. Высоцкий с грустью говорил, что в фильме осталась только треть и по этим крохам сложно судить о том, каким благородным и интересным был его герой.
Съёмки проходили недалеко от Одессы, в Крыму и в городе Измаил. Актёры вспоминали, что обстановка была прекрасной не только на площадке, но и за её пределами. Высоцкий приносил с рынка горы фруктов и литры вина от поклонников, Фрид и Дунский делились случаями из лагерной жизни, Николай Крючков рассказывал анекдоты, а Анатолий Папанов раскрывал секреты новой диеты, по которой ему было положено после еды полчаса замирать в одной позе.
Знаменитая песня «Служили два товарища ага…» — стала переводом фронтовой немецкой песни «Хороший товарищ», которая была популярна в годы Первой мировой войны. Олег Янковский отчаянно репетировал, чтобы спеть в дуэте с Роланом Быковым, но выяснилось, что молодой актёр начисто лишён слуха. В результате в фильме Быков пел один.