This Bible contradiction is from the Skeptic's Annotated Bible.
David killed him twice. (Once with a sling and once with a sword.)
1 Samuel 17:49-50 View context
And David put his hand in his bag, and took thence a stone, and slang [it], and smote the Philistine in his forehead, that the stone sunk into his forehead; and he fell upon his face to the earth.
So David prevailed over the Philistine with a sling and with a stone, and smote the Philistine, and slew him; but [there was] no sword in the hand of David.
1 Samuel 21:8-9 View context
And David said unto Ahimelech, And is there not here under thine hand spear or sword? for I have neither brought my sword nor my weapons with me, because the king's business required haste.
And the priest said, The sword of Goliath the Philistine, whom thou slewest in the valley of Elah, behold, it [is here] wrapped in a cloth behind the ephod: if thou wilt take that, take [it]: for [there is] no other save that here. And David said, [There is] none like that; give it me.
2 Samuel 21:19 View context
And there was again a battle in Gob with the Philistines, where Elhanan the son of Jaare-oregim, a Beth-lehemite, slew [the brother of] Goliath the Gittite, the staff of whose spear [was] like a weaver's beam.