Everyone knows David killed Goliath. Perhaps everyone is wrong.
The story of David and Goliath is found in 1 Samuel 17 (only verses 23 and 50 matter for our purposes):
There is, however, a second account of the death of Goliath in the Books of Samuel. This is 2 Samuel 21:19:
A prima facie contradiction. But that's not the end of the matter. The Books of Chronicles also talk about the same battle as 2 Samuel. This is 1 Chronicles 20:5:
Ultimately, the problem is very easy to dismiss as a scribal error, where our manuscripts for 2 Samuel are corrupt but our manuscripts for 1 Chronicles are correct. I'm not entirely convinced by this - Chronicles was written long after Samuel, and it's entirely possible that someone simply removed the obvious contradiction. But there is no proof. The author of 1 Chronicles may instead have had an untainted version of 2 Samuel which he was faithfully copying.
Incidentally, there are interesting grammatical relationships between the two passages about Elhanan. One says he is a Bethlehemite, while the other does not, but does say the slain man was called Lahmi. According to Hebrew scholars, the name "Lahmi" is the same as the last two syllables of "Bethlehemite" in Hebrew.
There are thus two possibilities:
It's hard to know which is right. Ancient Hebrew writers had the unfortunate habit of not using vowels, and therefore texts with radically different meanings look more similar than you'd expect. There are however independent reasons for regarding our manuscripts for 2 Samuel as corrupt: apparently "Jaare-oregim" (the name of Elhanan's father) literally means "forest of the weavers" which is suspiciously close to the description of the slain man's weapon. This suggests a garbled manuscript. So, if our manuscripts are indeed corrupt, there may well be no actual contradiction in the original texts.