Numbers 21:5-9:

And the people spake against God, and against Moses, Wherefore have ye brought us up out of Egypt to die in the wilderness? for there is no bread, neither is there any water, and our soul loatheth this light bread.
And the LORD sent fiery serpents among the people, and they bit the people, and much people of Israel died.
Therefore the people came to Moses and said, We have sinned, for we have spoken against the LORD, and against thee; pray unto the Lord, that he take away the serpents from us.  And Moses prayed for the people.
And the LORD said unto Moses, Make thee a fiery serpent, and set it upon a pole: and it shall come to pass, that every one that is bitten, when he looketh upon it, shall live.
And Moses made a serpent of brass, and put it upon a pole, and it came to pass, that if a serpent had bitten any man, when he beheld the serpent of brass, he lived.

Notes on Numbers 21:5-9:

The snake on the pole represented Jesus on the cross.  Notice that Moses did not put a spotless lamb on the pole.  Jesus didn’t look like a spotless lamb on the cross; He looked like sin – namely OUR sin!  He carried OUR sins and was punished for them.  You might think, very well then, why wasn’t the image of Christ a spotless lamb carrying a snake?  The first answer is that there already was a second image of Jesus as a spotless Lamb in the Passover.  The second answer is that Jesus didn’t just carry your sins on the cross, He BECAME sin.  (That’s what 2 Corinthians 5:21 says; that’s not just my private opinion.)  He was fully identified with sin; there was nothing spotless about Him when He died on that cross.  I believe the point at which he BECAME sin was after He had already atoned for our sins with His blood and just before He died.  If that point were sooner, He would have been shedding blood that was sin-tainted like ours.  (You are free to disagree if you want, but you will have to come up with a better way to explain how Jesus’ blood could be sinless if He already WAS sin while He was shedding it for us.)  So God knew what He was doing when He made the symbol of Jesus a snake on a pole, and Jesus affirmed He would be lifted up like the serpent that Moses raised up in John 3:14.

When people gazed at the serpent, they were both forgiven and healed.  Because the serpent symbolized Jesus, we know that both forgiveness and healing must be available to everyone because of His crucifixion.  If this were not the case, God would be one of the worst false advertisers ever because He would have given a preview that was better than the real thing.  If people got healed looking to the mere symbol of Christ, how much more should we get healed looking to Christ who was symbolized?

Much later, in Hezekiah’s day, people started burning incense to the metal snake that was on the pole, so Hezekiah cut it to pieces to stop this practice (2 Kings 18:4).

See also:

Notes on John 3:14
Healing and Atonement
Some of God’s Promises Have Conditions
Forgiven People Can Be Healed
How Could Jesus Heal the Sick Based on His Future Atonement?
Objection: Isaiah 53:4 (Matthew 8:17) Was Fulfilled in Jesus’ Earth Ministry and Cannot Be Claimed as a Promise by Christians Today
Objection: Jesus Was Not Really PUNISHED for Our Sins; He Just Shed Blood to Atone for Them
Objection: We Should Never Teach that Jesus Was Cursed Because No One Speaking by The Holy Spirit Can Call Jesus Cursed (1 Corinthians 12:3)
Objection: Throughout Scripture God Heals Those Whom He CHOOSES to Heal
Objection: Healing Is a Secondary Benefit of the Atonement, Not a Primary One
Objection: Christ’s Sin-Bearing Is Repeated Throughout the New Testament, but Healing Is Almost Never Mentioned with It.  If Healing Were in the Atonement, It Would Be Mentioned Consistently.
Objection: Mark 16:9-20 Was Not in Some Early Manuscripts
Objection: Jesus Could Not Literally BECOME SIN Because Sin Is a Thing, Not a Person
Condition: Snakebites