The English language has quite a few phrases that we old timer know, and most of them come from Shakespeare, Benjamin Franklin, or the Bible. The phrase “Once in a blue moon” is in the religious category.
A blue moon is not really blue, but it does refer to the moon. In some months there are two full moons in one month. January 2018 is one such month, and interestingly March 2018 is another. The next time there will be two blue moons in one year is 2037. The last time was 1999, and before that was 1961.
So why the word blue? The moon is not really blue. It has to do with the date of Easter, and the period of Lent leading up to Easter.
The word derives from the Old English word ‘belewe’, which had two separate meanings. One of them was ‘blue’. The other was ‘betrayer’.
Many years ago, before the Gregorian calendar was reformed, the church used to calculate the date that Easter would take place that year on the cycle of the moon.
When a ‘blue moon’ appeared in the sky, the clergy needed to warn people that this did not represent the end of Lent and therefore bring an end to fasting, but was, in fact, a ‘betrayer moon’!
Source:
https://www.ecenglish.com/learnenglish/lessons/idiom-once-a-blue-moon