Au IVe siècle ap. J.-C., Sebastiane est membre de la garde personnelle de l'Empereur Diocletian. Quand il essaye d'intervenir pour arrêter la strangulation de l'un des gitons de l'Empereur par un de ses gardes du corps, Sebastiane est dégradé au rang de simple soldat et exilé dans une garnison éloignée dans un lieu désertique où les soldats, en manque de femmes, s’adonnent parfois à l’homosexualité.
Bien que considéré comme l'un des premiers Chrétiens, Sebastiane est un adorateur du dieu solaire romain Phoebus Apollon et sublime le désir de ses compagnons masculins par l'adoration de sa déité et son pacifisme. C'est aussi le cas pour Severus, le commandant de la garnison, qui devient de plus en plus obsédé par Sebastiane, et cherche à le faire céder à ses avances. Ce dernier le repousse.
Justin, un de ses compagnons d'armes, est également amoureux de Sebastiane et se rapproche de ce dernier bien que cette attirance soit non-réciproque. Adrian et Anthony, deux des compagnons d'armes de Sebastian, sont homosexuels et leur amour partagé est connu de tous.
Finalement Severus essaye de violer Sebastiane et décide en fin de compte son exécution sommaire. Ses camarades doivent lui décocher chacun une flèche.
Sebastiane a été tourné en latin, c’est le seul film britannique entièrement sous-titré en anglais. Le film a fait scandale à cause de sa relecture homosexuelle de la vie et du martyre de saint Sébastien, saint catholique dont les nombreuses représentations dégagent souvent un certain homoérotisme. Les dialogues de Jack Welch sont délibérément écrits en latin courant de l’époque plutôt qu’en un langage très académique. La chorégraphie du prologue est de Lindsay Kemp et de sa troupe, la musique d’Andrew Wilson.