One of the most frequently asked Bible questions is about the “Jesus genealogies” recorded in the gospels of Matthew and Luke. They are a mystery to many believers because of how different they are. In fact, they are so different in certain places that skeptics think that they are in error. But this makes little sense in light of the fact that “the Jews were meticulous record keepers, especially in regard to genealogies.”[1] So, if they are not contradictory then why all the differences? Let’s take a careful look at these family trees.
Besides the fact that the two genealogies are in opposite orders, the first real difference is the number of persons contained in each genealogy. While Luke has 76 Matthew only has 42. But as Matthew himself indicates in 1:17, it was by design that he did not include all the names. While it might seem a strange practice to us, Jewish genealogies weren’t required to include every generation.[2],[3] And since Matthew was not denying the existence of the people he excluded it doesn’t constitute as a contradiction. Actually, most of the omitted names (20) are simply a result of Matthew beginning his genealogy with Abraham rather than going all the way back to Adam as Luke did. And from Abraham to King David, Matthew and Luke’s genealogies are name for name the same.
But it is at this point that the issues really begin because from David to Joseph the two genealogies could not be more different. For example, Matthew says King David’s son is Solomon, but Luke says it’s Nathan. And Matthew says that Joseph’s father is Jacob, but Luke says it’s Heli. In fact, out of all the names in this section only two are the same: Shealtiel and Zerubbabel. But even here, Matthew says Shealtiel’s father was Jeconiah (Matt 1:12) but Luke claims his father was Neri (Luke 3:27). And Matthew says that Zerubbabel’s son is Abiud but Luke says his son is Rhesa.
“Abraham was the father of Isaac, and Isaac the father of Jacob…. and Jacob the father of Joseph the husband of Mary, of whom Jesus was born, who is called Christ.”
Matthew 1:2,16
This all seems like a really big mess of contradictions until we realize the reason why they are so different. Matthew and Luke were tracing two different genealogies. And Jesus having two lineages is not at all contradictory since every human being who’s ever lived has also had at least two genealogies: One from their father and another from their mother. And those who have been adopted or are stepchildren have even more because they become the legal children of those parents as well. With this in mind, all the alleged errors and contradictions begin to resolve themselves. For example, Matthew and Luke give different names for David’s son because they are tracing different lines. Matthew traces the line of descent through Solomon (Matt 1:6), while Luke traces it through David’s other son Nathan (Luke 3:31). This also means that the two names that are the same (Shealtiel and Zerubbabel) are completely different people which explains why Shealtiel’s father is different (and why Zerubbabel’s son is different) in Matthew’s genealogy than he is in Luke’s.
The only other difficulty is regarding the end of the genealogies when they get to Joseph. And there are a couple of issues here. First, how could Matthew and Luke be recording two separate genealogies if they both end with Joseph? And second, why does Matthew say that Joseph’s father is Jacob while Luke says his father is Heli? Over the ages scholars have proposed a number of legitimate solutions but the most common explanation is that Matthew is recording Joseph’s family tree, while Luke is tracing Mary’s. In other words, Matthew is recording Jesus’ legal father’s ancestry while Luke is recording His mother’s. While it’s true that Luke doesn’t mention Mary by name, this is not really surprising since women were rarely included in Jewish genealogies. If this explanation is correct, then Mary’s line is represented by her husband Joseph. This would also explain why Joseph has two fathers. One is his biological father (Jacob) while the other is his father-in-law (Heli the biological father of Mary). So why didn’t Luke use the term father-in-law? Well, he couldn’t have because in koine Greek (which is what the New Testament is written in) there is no word for father-in-law. But as it is in English, it is perfectly acceptable to refer to your father-in-law as simply your father as Luke seems to have done. Also keep in mind that while this is the most common explanation, it is by no means the only one. There are, in fact, several legitimate solutions to this conundrum.[4] So we can have confidence that these genealogies are not in error.

Ryan Hembree is a daily co-host, speaker, and writer of Bible Discovery. He also hosts a YouTube channel that shows the unity of the Bible and how science and Scripture fit together. Ryan also has an honorary Masters of Ministry in Creation Science from Phoenix University of Theology.
[1] Why are Jesus’ genealogies in Matthew and Luke so different? https://www.gotquestions.org/Jesus-genealogy.html
[2] Louis A. Barbieri, Jr., The Bible Knowledge Commentary: New Testament, Matthew, P.18.
[3] Also, as any historian will confirm, exclusion of certain details in historical texts is common.
[4] For example, another explanation is that both genealogies were Joseph’s, but one is tracing his legal descent and the other is tracing his actual bloodline. It’s also possible that Heli was Joseph’s stepfather. If, for example, Joseph’s biological father died, and his mother remarried to Heli then he would become Joseph’s legal father.