L’origine exacte du vêtement est inconnue, bien que certaines sources attribuent la chemise au peuple des Philippines qui a introduit le design au Mexique. Plus précisément, le motif proviendrait du barong tagalog philippin blanc en forme de dentelle, dont les origines sont documentées aux Philippines avant l’arrivée des Espagnols. Il a fait son chemin vers Cuba en passant par le Mexique via le commerce par galion Manille-Acapulco (de 1565 à 1815 après JC).
Certains spécialistes contestent l’origine philippine en se basant sur les différences de conception perçues. Le barong n’a traditionnellement pas de poches et possède une broderie complexe en forme de U autour de la poitrine (la pechera) qui est le plus souvent absente des guayaberas cubaines. Les guayaberas sont également fabriquées en lin ou en coton, et non pas dans les tissus diaphanes coûteux de piña ou d’abacá utilisés dans les barong formels (bien que les barong informels portés par les classes inférieures aux Philippines utilisent des tissus opaques courants comme le lin).
Toutefois, les guayaberas au Mexique ont également des motifs sur la poitrine comme des plis et des broderies similaires au barong (et contrairement aux guayaberas cubaines) ; et elles peuvent aller de l’absence de poches à une, deux ou quatre poches. C’est la raison pour laquelle les Mexicains affirment également qu’il est originaire de l’État de Veracruz ou de la péninsule du Yucatán. Au Mexique, le même style de base est également connu sous le nom de « camisa de Yucatán » (chemise du Yucatán) ou de « chemise de mariage ».
Nonobstant, une ligne de preuve plus claire est que les guayaberas sont en fait également appelées « filipinas » au Yucatán, au Mexique, la première étant considérée comme une variante de la seconde. La seule différence entre les deux est le type de col utilisé. Les filipinas ont un col semblable au style Nehru ou mandarin (un style connu sous le nom de baro cerrada dans les Philippines du XIXe siècle), tandis que les guayaberas ont un col écarté plus typique. Les filipinas et les guayaberas, qui en sont dérivées, étaient les chemises traditionnelles des hommes au Yucatán depuis le milieu du XIXe siècle, avant d’être remplacées par des chemises occidentales au début du XXe siècle. La chemise filipina blanche est toujours considérée comme la tenue de cérémonie traditionnelle pour les hommes au Yucatán, tout comme le terno pour les femmes (cf. traje de Mestiza des Philippines). En particulier, les filipinas blanches sont les chemises traditionnelles portées pour la danse yucatèque de la jarana, associées à un pantalon blanc. Cela suggère une origine des Philippines qui est entrée au Mexique au début de la période coloniale par le Yucatán puis à Cuba, où elle a ensuite été adaptée à la mode et aux matériaux locaux.
Les Cubains affirment également que la guayabera est originaire de Cuba. La littérature cubaine fait référence à la chemise à partir de 1893, et les preuves documentaires mentionnent la chemise à Cuba dès 1880. L’histoire d’origine cubaine raconte qu’une pauvre couturière de campagne cousait de grandes poches plaquées sur les chemises de son mari pour transporter les goyaves (guayabas) du champ. Selon une autre version de l’histoire, en 1709, des immigrants espagnols de Grenade, José Pérez Rodríguez et sa femme Encarnación Núñez García, sont arrivés à Sancti Spiritus, situé le long de la rivière Yayabo. José a demandé à sa femme de lui confectionner une chemise avec des manches longues et quatre grandes poches pour ranger ses cigares et ses affaires pendant qu’il travaillait. Comme elle était facile à fabriquer et utile, elle est rapidement devenue un vêtement populaire dans cette région. Une autre croyance veut que le nom guayabera provienne du mot yayabero, le surnom de ceux qui vivaient près de la rivière Yayabo à Cuba.