De vlag als staatssymbool werd pas ten tijden van Petar II Petrovic Njegos geïntroduceerd. Voor die tijd was de voornaamste Montenegrijnse vlag de Alaj-Barjak (regimentskleuren) met slechts één symbool erop – het kruis (krst). De Montenegrijnen verzamelden zich tijdens bijeenkomsten of net voor veldslagen rondom deze krstas. De eerste beschrijving van de Montenegrijnse vlag dateert uit de tijd van Scepan Mali (de Bedrieger); wit, met een rood kader en een gouden kruis op een speer. De daaropvolgende dateert uit 1838; lichtgeel met een klein rood kruis, en in 1876 werd de vlag omschreven als rood met een wit kruis. Ten tijden van prins Danilo werd het kruis op de Alaj-Barjak vervangen door een tweekoppige arend met op zijn borst de initialen DI (Danilo I) en eronder een passante leeuw. Koning Nikola liet gedurende zijn regeerperiode vele verschillende vlaggen ontwerpen. De eerste van deze variaties was dezelfde als die van prins Danilo met als enig verschil de initialen – NI (Nikola I). Rond 1910 verschenen twee nieuwe varianten: een driekleur (rood, blauw en wit) met de tweekoppige arend met op zijn borst de initialen NI en de passante leeuw aan de linkerzijde, en de ander met de tweekoppige arend boven de initialen NI.
Daarna veranderde Montenegro nog driemaal haar vlag. Tot 1993, toen Montenegro deel uitmaakte van de Socialistische Federale Republiek Joegoslavië, had de vlag in het midden een rode ster. Vanaf 1993 werd het blauw in de vlag veranderd naar lichterblauw en de verhouding van 1:3 naar 1:2. Op 12 juli 2004 werd de vlag door het Montenegrijnse Parlement voor de laatste maal gewijzigd naar een rood baniervlag met daarop het wapenschild dat in 1993 was aangenomen. Deze vlag wordt weliswaar met een gele rand omschreven, maar feitelijk , hoewel vaak versierd met een gouden franje, heeft het oorspronkelijk deze rand niet. Het wapenschild op de vlag dateert uit de tijd van koning Nikola; zijn initialen HI (i.e. NI) zijn echter achterwege gelaten.