Volgens de legende behaalde graaf Afonso Henriques in 1139 een beslissende overwinning op de Moorse strijdkrachten bij Ourique. De vijf schilden die hij uit de handen van vijf Moorse koningen zou hebben geslagen, werden later weerspiegeld in de vijf blauwe schilden op zijn witte banier. Elk schild droeg vijf witte schijven voor de vijf wonden van Christus, die, volgens de overlevering, voor de strijd verscheen en het succes van de graaf garandeerde. In de 13e eeuw voegde koning Afonso III een rode rand met gouden kastelen aan het schild toe als symbool van het naburige koninkrijk Castilië; dit gebeurde wellicht in 1254, toen hij trouwde met Beatriz van Castilië (de buitenechtelijke dochter van Alfonso X) en regelde dat het gebied dat bekend staat als de Algarve aan Portugal werd overgedragen.
Dit wapen, met een kroon erop, verscheen in de loop der eeuwen op veel Portugese vlaggen – bijvoorbeeld na 1640, toen Portugal zijn onafhankelijkheid van Spanje herwon, waren de vlaggen wit met het koninklijke wapen. In 1816 werd een symbool voor Brazilië, de armillary sphere, toegevoegd achter het schild. De armillosfeer werd als navigatie-instrument gebruikt door eerdere Portugese koningen, die in de 15e en 16e eeuw wereldwijde ontdekkingsreizen en nederzettingen hadden gesponsord. Hoewel dat symbool in de jaren 1820 werd opgegeven, toen Brazilië onafhankelijk werd, werd het op 30 juni 1911 nieuw leven ingeblazen, na de revolutie van oktober 1910 die de monarchie omverwierp en van Portugal een republiek maakte. Tegelijkertijd vervingen groen en rood de blauwe en witte achtergrondstrepen van de vlag, die sinds 1830 in gebruik waren. Rood was de kleur van de revolutionaire vlag, en groen werd toegevoegd om te voorkomen dat de nieuwe nationale vlag zou worden verward met de oude koninklijke standaard, die een effen rode achtergrond had. Groen en rood kwamen ook voor in veel vroege Portugese vlaggen, zoals die van de Orde van Christus en die met de kruisen van Avis.