Сценарий фильма основан на балладе Василия Жуковского "Сказка о царе Берендее, о сыне его Иване-царевиче, о хитростях Кощея бессмертного и о премудрости Марьи-царевны, Кощеевой дочери" (6+). В свою очередь, её источником послужила народная сказка "Морской царь и Василиса Премудрая" (6+). Авторами сценария стали Михаил Чуприн и режиссёр Александр Роу. Для Чуприна это была единственная работа в кинематографе, в то время как для Роу "Варвара-краса, длинная коса" (6+) оказалась предпоследним фильмом в его карьере.
Режиссёр предпочитал работать с актёрами, уже знакомыми ему по предыдущим проектам, и практически все исполнители ролей уже снимались у него ранее. Исключением стала Татьяна Клюева, сыгравшая главную роль Варвары. Хотя их встреча произошла задолго до съёмок, Клюева пришла на пробы к Роу для его предыдущей сказки "Огонь, вода и… медные трубы" (6+). Тогда режиссёр счёл её слишком молодой, несмотря на её актёрский опыт и главную роль в фильме "Акваланги на дне" (12+). Он утвердил другую актрису, Наталью Седых, пообещав при этом Клюевой, что в следующий раз она сможет появиться в его проекте. Это обещание было выполнено, и Татьяна действительно была приглашена на пробы через год.
Перед началом съёмок Роу строго предупредил восемнадцатилетнюю актрису о необходимости соблюдать строгую дисциплину: никаких романов, шумных гулянок и, конечно, лишнего веса! Он даже запирал её в гостиничном номере в девять вечера, чтобы предотвратить возможные "покушения" на её строгое расписание. Когда выяснилось, что платья, подготовленные для Варвары, оказались малы, режиссёр отказал Клюевой в суточных, чтобы она не тратила деньги на угощения. Тот же "приём" применили и к Георгию Милляру, исполнителю роли "подводного царя", который также остался без дополнительных средств на спиртное. Это обстоятельство сплотило актёров: после получения зарплаты Милляр и Клюева тайком отправлялись в соседнюю деревню, где им выдавали рубль на двоих для покупки "вкусностей": Милляр выбирал вино, а Клюева — конфеты.
Роль Варвары принесла Татьяне Клюевой всесоюзную популярность, однако осталась её самая яркая работа в кино. Актриса окончила ГИТИС и сыграла ряд второстепенных ролей, после чего вышла замуж за моряка и уехала с ним в Севастополь. В этом городе она заведовала клубом в таксопарке, работала в брачном агентстве, а в 90-е торговала одеждой и обувью на рынке. Она рассказала, что однажды к ней подошла женщина и с ироничной усмешкой произнесла: "Ну что, Варварушка, докатилась?" Эта фраза одновременно обрадовала её, так как напомнила о прежней популярности, и расстроила злорадством.
На съёмках сказки Татьяна подружилась с Сергеем Николаевым, который исполнил роль царского сына Андрея. Режиссёр ранее заметил его в пионерском лагере киностудии им. Горького и пригласил сыграть харизматичного героя. Для Николаева это была вторая работа в кино, но она оказалась самой запоминающейся. Сергей окончил экономический факультет ВГИКа и на протяжении 20 лет возглавлял актёрский отдел той же киностудии, сыграв множество ролей второго плана. К сожалению, он ушёл из жизни в 2016 году.
Алексей Катышев, сыгравший рыбацкого сына Андрея, тоже уже снимался в предыдущем фильме Роу. Режиссёр заметил этого пятнадцатилетнего юношу на курсах звукорежиссёров в Ялте, когда работал над "Морозко" (6+). Роу искал типаж русского доброго молодца и через четыре года без дополнительных проб утвердил Катышева на роль в "Огонь, вода и… медные трубы", а после завершения этой работы предложил ему сняться в "Варваре-красе, длинной косе". На тот момент Алексей был призван в армию, но режиссёр добился перевода его с Дальнего Востока в Ленинград, чтобы он смог участвовать в съёмках.
Администратором на площадке фильма работал 20-летний Борис Грачевский, который проходил практику во ВГИКе. Он вспоминал, как выполнял различные задачи, такие как ловля голубей или поиск сухого льда. В конце съёмок ему доверили сыграть руку, появляющуюся из воды и угрожающую царю. Грачевский стал самым молодым членом съёмочной группы, поэтому именно ему поручили эту роль, которая затем долго пугала детей на экране.