Puto (1490–1576), “The Presentation of the Virgin Mary in the Temple of Jerusalem”
Mary “remained a virgin in conceiving her Son, a virgin in giving birth to him, a virgin in carrying him, a virgin in nursing him at her breast, always a virgin” (CCC 510)
Once upon a time, almost no Christians denied that Mary the mother of Jesus was perpetually a virgin: including Protestants. Of the early leaders of that movement, virtually all fully accepted this doctrine: including Luther, Calvin, Zwingli, Bullinger, Turretin, and Cranmer. Moreover, most Protestant exegetes continued to believe it for at least another 350 years or so.
But today, for various reasons, things are very different, so it's helpful to revisit the biblical arguments, since the Bible is the authority all Christians revere in common. A surprising number can be found.
1) Luke 2:41-51 describes Mary and Joseph taking Jesus to the temple at the age of twelve, for the required observance of Passover. Everyone agrees that He was the first child of Mary, so if there were up to five or more siblings, as some maintain (or even one), why is there no hint of them at all in this account?
2) Neither Hebrew nor Aramaic have words for “cousin.” The New Testament was written in Greek, which does have such a word (sungenis), but Jesus and His disciples spoke Aramaic (a late version of Hebrew), and the Hebrew word ach is literally translated as adelphos, the literal equivalent of the English “brother.” In the Bible, it has a very wide range of meanings beyond “sibling”: just as “brother” does in English. Thus, it is routinely used in the New Testament to describe cousins or kinsmen, etc.
3) Jesus Himself uses “brethren” (adelphos) in the non-sibling sense. In Matthew 23:8 (cf. 12:49-50), He calls, for example, the “crowds” and His “disciples” (23:1) “brethren.” In other words, they are each other's“brothers”: the brotherhood of Christians.
4) In comparing Matthew 27:56, Mark 15:40, and John 19:25, we find that James and Joseph (mentioned in Mt 13:55 with Simon and Jude as Jesus' “brothers”) are the sons of Mary, wife of Clopas. This other Mary (Mt 27:61; 28:1) is called Our Lady'sadelphein John 19:25. Assuming that there are not two women named “Mary” in one family, this usage apparently means “cousin” or more distant relative. Matthew 13:55-56 and Mark 6:3 mention Simon, Jude and "sisters" along with James and Joseph, calling all adelphoi. The most plausible interpretation of all this related data is a use of adelphos as “cousins” (or possibly, step-brothers) rather than “siblings.” We know for sure, from the above information, that James and Joseph were not Jesus' siblings.
It's not mere special pleading to argue in this fashion, nor an alleged “desperation” of Catholics who supposedly “read into” the texts their prior belief in the dogma of perpetual virginity. Plenty of Protestant exegesis and scholarship confirms these views: especially in older commentaries. For example, the prominent 19th century Commentary on the Whole Bible, by Jamieson, Fausset & Brown, states, regarding Matthew 13:55 (my italics added):
An exceedingly difficult question here arises - What were these “brethren” and “sisters” to Jesus? Were they, First, His full brothers and sisters? or, Secondly, Were they His step-brothers and step-sisters, children of Joseph by a former marriage? or, Thirdly, Were they His cousins, according to a common way of speaking among the Jews respecting persons of collateral descent? On this subject an immense deal has been written, nor are opinions yet by any means agreed . . . In addition to other objections, many of the best interpreters, . . . prefer the third opinion. . . Thus dubiously we prefer to leave this vexed question, encompassed as it is with difficulties.
5) The Blessed Virgin Mary is committed to the care of the Apostle John by Jesus from the Cross (John 19:26-27). Jesus certainly wouldn't have done this if He had brothers (all of whom would have been younger than He was).
6) Matthew 1:24-25 Joseph . . . knew her not until she had borne a son . . .
This passage has been used as an argument that Mary did not remain a virgin after the birth of Jesus, but the same Protestant commentary also states (my italics again):
The word “till” [until above] does not necessarily imply that they lived on a different footing afterwards (as will be evident from the use of the same word in 1 Samuel 15:35; 2 Samuel 6:23; Matthew 12:20); nor does the word “first-born” decide the much-disputed question, whether Mary had any children to Joseph after the birth of Christ; for, as Lightfoot says, “The law, in speaking of the first-born, regarded not whether any were born after or no, but only that none were born before.”
John Calvin used the same counter-argument in favor of Mary's perpetual virginity. In fact, in his Harmony of the Gospels, commenting on Matthew 1:25, he thought the contention of further siblings based on this passage was so unfounded that he wrote, “No man will obstinately keep up the argument, except from an extreme fondness for disputation.”
7) Jude is called the Lord's “brother” in Matthew 13:55 and Mark 6:3. If this is the same Jude who wrote the epistle bearing that name (as many think), he calls himself “a servant of Jesus Christ and brother of James” (Jude 1:1). Now, suppose for a moment that he was Jesus' blood brother. In that case, he refrains from referring to himself as the Lord’s own sibling (while we are told that such a phraseology occurs several times in the New Testament, referring to a sibling relationship) and chooses instead to identify himself as James' brother.
This is far too strange and implausible to believe. Moreover, James also refrains from calling himself Jesus’ brother, in his epistle (James 1:1: “servant of God and of the Lord Jesus Christ”): even though St. Paul calls him “the Lord's brother” (Gal 1:19).
It's true that Scripture doesn’t come right out and explicitly state that Mary was a perpetual virgin. But nothing in Scripture contradicts that notion, and -- to say the same thing another way -- nothing in the perpetual virginity doctrine contradicts Scripture.