Muhammad's marriage to Zaynab bint Jahsh, the ex-wife of his adopted son, Zaid, has long been a source of controversy for Islam. An account of this event is given in The History of al-Tabari, which was written by the same author that produced one of Islam's most important Quranic commentaries, Muhammad al-Tabari (923 AD):
The History of al-Tabari, Vol 8, pg. 2-3
The Messenger of God came to the house of Zayd b. Harithah. (Zayd was always called Zayd b. Muhammad) Perhaps the Messenger of God missed him at that moment, so as to ask, "Where is Zayd?" He came to his residence to look for him but did not find him. Zaynab bt. Jalish, Zayd's wife, rose to meet him. Because she was dressed only in a shift, the Messenger of God turned away from her. She said: "He is not here, Messenger of God. Come in, you who are as dear to me as my father and mother!" The Messenger of God refused to enter.
Zaynab had dressed in haste when she was told "the Messenger of God is at the door." She jumped up in haste and excited the admiration of the Messenger of God, so that he turned away murmuring something that could scarcely be understood. However, he did say overtly: "Glory be to God the Almighty! Glory be to God, who causes hearts to turn!"
When Zayd came home, his wife told him that the Messenger of God had come to his house. Zayd said, "Why didn't you ask him to come in?" She replied, "I asked him, but he refused." "Did you hear him say anything?" he asked. She replied, "As he turned away, I heard him say: "Glory be to God the Almighty! Glory be to God, who causes hearts to turn!""
So Zayd left, and, having come to the Messenger of God, he said: "Messenger of God, I have heard that you came to my house. Why didn't you go in, you who are as dear to me as my father and mother? Messenger of God, perhaps Zaynab has excited your admiration, and so I will separate myself from her." The Messenger of God said, "Keep your wife to yourself." Zayd could find no possible way to [approach] her after that day. He would come to the Messenger of God and tell him so, but the Messenger of God would say to him, "Keep your wife." Zayd separated from her and left her, and she became free.
While the Messenger of God was talking with Aishah, a fainting overcame him. When he was released from it, he smiled and said, "Who will go to Zaynab to tell her the good news, saying that God has married her to me?" Then the Messenger of God recited: "And when you said unto him on whom God has conferred favor and you have conferred favor, 'Keep your wife to yourself ...' and the entire passage. According to Aishah, who said: "I became very uneasy because of what we heard about her beauty and another thing, the greatest and loftiest of matters-what God had done for her by giving her in marriage. I said that she would boast of it over us."
In the above account, notice that:
According to a narration, after Zaid divorced Zaynab, and her waiting period (iddah) was over, Muhammad asked Zaid to mention him to Zaynab:
Sahih Muslim 1428b
Anas (Allah be pleased with him) reported:
When the 'Iddah of Zainab was over, Allah's Messenger (ﷺ) said to Zaid to make a mention to her about him. Zaid went on until he came to her and she was fermenting her flour. He (Zaid) said: As I saw her I felt in my heart an idea of her greatness so much so that I could not see towards her (simply for the fact) that Allah's Messenger (ﷺ) had made a mention of her. So I turned my back towards her. and I turned upon my heels, and said: Zainab, Allah's Messenger (ﷺ) has sent (me) with a message to you. She said: I do not do anything until I solicit the will of my Lord. So she stood at her place of worship and the (verse of) the Qur'an (pertaining to her marriage) were revealed, and Allah's Messenger (ﷺ) came to her without permission.
The above mentions verses pertaining to Muhammad's marriage to Zaynab being revealed, and places the revelation after Muhammad had already shown interest in Zaynab, and asked Zaid to mention him to her.
Those verses seem to be the following verses from Surah 33:
Surah 33:4
4 Allah does not place two hearts in any person's chest. Nor does He regard your wives as ˹unlawful for you like˺ your real mothers, ˹even˺ if you say they are. Nor does He regard your adopted children as your real children. These are only your baseless assertions. But Allah declares the truth, and He ˹alone˺ guides to the ˹Right˺ Way.
Surah 33:37-40
37 And ˹remember, O Prophet,˺ when you said to the one for whom Allah has done a favour and you ˹too˺ have done a favour, "Keep your wife and fear Allah," while concealing within yourself what Allah was going to reveal. And ˹so˺ you were considering the people, whereas Allah was more worthy of your consideration. So when Zaid totally lost interest in ˹keeping˺ his wife, We gave her to you in marriage, so that there would be no blame on the believers for marrying the ex-wives of their adopted sons after their divorce. And Allah's command is totally binding.
38 There is no blame on the Prophet for doing what Allah has ordained for him. That has been the way of Allah with those ˹prophets˺ who had gone before. And Allah's command has been firmly decreed.
39 ˹That is His way with˺ those ˹prophets˺ who deliver the messages of Allah, and consider Him, and none but Allah. And sufficient is Allah as a ˹vigilant˺ Reckoner.
40 Muhammad is not the father of any of your men, but is the Messenger of Allah and the seal of the prophets. And Allah has ˹perfect˺ knowledge of all things.
In verse 4, the taboo of Muhammad marrying the ex-wife of his adopted son is addressed. Allah merely says that "He does not regard your adopted children as your real children". This is also addressed in verse 40 - "Muhammad is not the father of any of your men".
In verse 37, Allah says that Muhammad told Zaid to, "'Keep your wife and fear Allah,' while concealing within yourself what Allah was going to reveal". This would mean that before the revelation of the verses of the Quran pertaining to Zaynab's marriage, and also before Zaid had divorced Zaynab, Muhammad already knew Allah would wed him to Zaynab.
Also in verse 37, the justification for Muhammad's marriage to Zaynab is given - "We gave her to you in marriage, so that there would be no blame on the believers for marrying the ex-wives of their adopted sons after their divorce". This reason seems quite ad-hoc, addressing a problem which few people will ever encounter. Further, Allah simply could have delivered a verse saying that such a thing was permissible, if indeed this were something that God intended to establish from eternity past, despite having prohibited it in previous revelation (Leviticus 18:15).
Further, after the marriage between Muhammad and Zaynab took place, it seems that Aisha's fears about Zaynab's pride over Muhammad's other wives, as mentioned in al-Tabari, were confirmed, as the following narration says:
Sahih al-Bukhari 7420
Narrated Anas:
Zaid bin Haritha came to the Prophet (ﷺ) complaining about his wife. The Prophet (ﷺ) kept on saying (to him), "Be afraid of Allah and keep your wife." Aisha said, "If Allah's Messenger (ﷺ) were to conceal anything of the Qur'an he would have concealed this Verse." Zainab used to boast before the wives of the Prophet (ﷺ) and used to say, "You were given in marriage by your families, while I was married (to the Prophet) by Allah from over seven Heavens." And Thabit recited, "The Verse:-- 'But (O Muhammad) you did hide in your heart that which Allah was about to make manifest, you did fear the people,' (33.37) was revealed in connection with Zainab and Zaid bin Haritha."
The above is also narrated in Sahih al-Bukhari 7421.
From the above, it seems that Zaynab saw marriage to Muhammad as moving up in the world. Adding to this the fact that both her and Zaid knew that Muhammad had said, upon seeing Zaynab, "Glory be to God, who causes hearts to turn!", and one cannot really doubt that Muhammad was a contributing factor leading to Zaid and Zaynab's divorce.
The marriage of Muhammad to Zaynab seems to clearly violate the teaching of Jesus Christ pertaining to divorce and remarriage (Matthew 19:9, Mark 10:11-12, Luke 16:18):
Matthew 5:32
32 But I say unto you, That whosoever shall put away his wife, saving for the cause of fornication, causeth her to commit adultery: and whosoever shall marry her that is divorced committeth adultery.
The above teaches that there is but one potential valid reason for divorce - fornication. Zaid and Zaynab's divorce did not seem to be caused by fornication, but rather, they merely separated after "Zaid totally lost interest in ˹keeping˺ his wife" (Surah 33:37).
This would make Muhammad's marriage to Zaynab adulterous, and also the divorce that was required for it to take place immoral, and unjust.
Muhammad appears to have directly caused the divorce of his adopted son Zaid. He then abolished adoption, asserting that adopted children are not really one's children. Finally, he married the former wife of his adopted son, contrary to the teachings of Scripture.