Answer
The record of Goliath’s defeat at the hand of David is found in 1 Samuel 17. However, a verse in 2 Samuel seems to name Elhanan, instead of David, as the one who toppled Goliath.
Here’s what’s clear: 1 Samuel 17:50 says that David killed Goliath: “So David triumphed over the Philistine with a sling and a stone; without a sword in his hand he struck down the Philistine and killed him.” The “Philistine” in this verse is identified as Goliath in verse 4.
Here’s what’s not so clear: in some translations, 2 Samuel 21:19 seems to indicate that it was Elhanan, not David, who killed the giant: “And there was again war with the Philistines at Gob, and Elhanan the son of Jaare-oregim, the Bethlehemite, struck down Goliath the Gittite, the shaft of whose spear was like a weaver’s beam” (ESV). The size of Goliath’s spear shaft is a detail shared by both passages. The obvious difference is who killed Goliath—was it David or Elhanan?
Unless David and Elhanan are different names for the same person—or there were two giants named Goliath—these verses seem to contradict each other. Bringing clarity to the issue is 1 Chronicles 20:5, which says, “In another battle with the Philistines, Elhanan son of Jair killed Lahmi the brother of Goliath the Gittite, who had a spear with a shaft like a weaver’s rod.” This verse repeats the detail of the size of the spear shaft, and it clearly says that Elhanan killed Goliath’s brother, rather than Goliath himself.
Why the discrepancy? Why does 2 Samuel 21:19 say that Elhanan killed Goliath? One viable theory is that, somewhere in the chain of copying the text, a scribe made a mistake. The Hebrew word for “the brother of” was miswritten, which changed the grammar of the sentence and led to a problematic sentence structure for the next scribe. The second scribe’s attempt to solve the syntactical puzzle produced a reading that omitted the important detail of Goliath’s brother.
Fortunately, we have 1 Chronicles 20:5, which contains the correct Hebrew wording and informs us, through implication, that 2 Samuel 21:19 is missing the words the brother of. We can be confident that David killed Goliath. Elhanan later killed Goliath’s brother.
Further, the context of 2 Samuel 21:19 makes it clear that it is describing an entirely separate event from David’s slaying of Goliath in 1 Samuel 17:50. Second Samuel 21:11–14 puts the passage after the death of Saul, who was alive when David killed Goliath (1 Samuel 17:31–39, 55–58). Second Samuel 21:15–17 indicates that Elhanan killed “Goliath” when David was the king of Israel, not when he was a servant of King Saul.
For a more detailed explanation of this likely scribal error, we recommend this article in Bible Study Magazine.