They’re everywhere in Mexico City: clear cases filled with roses, Christmas lights and a replica of Our Lady of Guadalupe, Mexico’s icon of the Virgin Mary.

These Virgin of Guadalupe shrines range from boxes no bigger than a dollhouse to nearly life-size replicas as tall as phone booths. You’ll find them in markets, nailed to street posts and blocking the sidewalk. At night their twinkling lights compete with Mexico City’s street lamps.

Intrigued, I asked Mexico City resident and guide Carlos San Roman about the colorful, seemingly haphazardly-placed odes to Mexico’s patron saint.

They’re maintained by the neighborhood, he said. Residents light candles to mark the Day of the Virgin and other special occasions.

“The neighborhood will worship there if there is a death or a marriage,” Carlos said. “As a blessing.”


A shrine attached to a post on a residential street in Mexico City’s La Condesa.

It all began in 1531 when Mary appeared to Juan Diego, a peasant who had just traded the Aztec calendar for Christianity, according to

Mary asked Juan to build her a shrine on that very spot. (Tepeyac Hill, near Mexico City. If you’re curious.)

Juan relayed Mary’s message to a local bishop. Unimpressed with Juan’s story, the bishop said he would not build Mary a church unless he received a sign from above.

So Mary reappeared. This time she told Juan to pick roses and bring them to the bishop.

When Juan presented the flowers, the bishop was shocked to see the roses left an imprint of the virgin on the lining of the peasant’s coat.

The bishop had his sign and since then the Virgin of Guadalupe has served as Mexico’s cultural and religious icon.

She was credited with ending a deadly epidemic in the 1730s. Her likeness was used on banners in an 1810 revolt against the Spanish; the rebels’ battle cry was “Long Live Our Lady of Guadalupe.” She appeared again during Mexico City’s civil war in the 1920s.

To this day, hundreds of thousands of pilgrims visit her shrine every year.

Sign up for the From Way Up High newsletter!


Share this post!