Histoire imaginaire est située au XVIe siècle, en Ukraine. Avec l'aide des Cosaques, les Turcs sont repoussés par les Polonais. La victoire est suivie d'un massacre des Cosaques zaporogues auxquels les Polonais veulent prendre les steppes. Les Cosaques survivants décident de se disperser pour préparer leur revanche. Taras Bulba (Yul Brynner) est l'un de leurs chefs et s'engage à réunir dès l'heure venue la « confrérie des zaporogues ». Il prend cependant la décision d'envoyer ses fils, Andrei et Ostap (Tony Curtis et Perry Lopez), dans une école polonaise. L'idée est stratégique : connaître l'ennemi. L'amour s'en mêle. Andrei et la fille du gouverneur, Natalia Dubrov, sont les deux tourtereaux. Mais le frère de la belle ne supporte pas l'affront fait par cet amour d'un sauvage. L'expédition punitive se retourne contre lui. Il meurt. Pour les Polonais, c'est un crime et les deux fils de Taras Bulba doivent fuir Kiev plus tôt que prévu. De retour parmi les leurs, les Cosaques zaporogues se réunissent. Avec cette nouvelle génération, une nouvelle armée Cosaque est levée. Ils font le siège d'une ville. Les sentiments amoureux d'Andrei pour Natalia, fille du gouverneur, ne facilitent pas les choses. Pour l'amour de Natalia, pour lui sauver la vie, tandis que le bûcher est déjà en feu, Andrei change de camp. Le voilà sous l'uniforme polonais guidant un bataillon...