Basically try to kill or freeze every creature before they can hit you. Sapphiron has 2x Pure Cold and 2x Frostbolt = 22 damage from spells alone. He also has two azure drakes and you can expect him to combo those with his spells for a few extra points of damage. This doesn't leave a lot of margin for error. To help us out we need him to trigger our Ice Barriers, if coupled with Vaporize we can even trigger it without taking damage.
Mulligan for cards that have a cost of 2 or less.
Don't use minions or spells to hit his face (and only use your hero power on his face if you don't have anything better to do with the mana). The main damage dealer for this fight is fatigue damage. When Sapphiron has drawn all his cards and used up all cards he intends to use (he usually saves two Blizzards), then you can unleash whatever damage spells/mininons you have left on his face.
Sapphiron's Deck List (and ideal counter for each card):
3x Mana Wyrm (Countered by: Frostbolt)
2x Frostbolt (Countered by: Ice Barrier)
3x Loot Hoarder (Countered by: Fireblast)
3x Faerie Dragon (Countered by: Breath of Sindragosa or Explosive Sheep)
2x Dancing Swords (Countered by: Steel Rager)
3x Shade of Naxxramas (Countered by: Volcanic Potion or Flamecannon)
2x Skeletal Smith (Countered by: Forgotten Torch)
3x Necroknight (Countered by: Fireball)
3x Spectral Knight (Countered by: Vaporize)
2x Azure Drake (Countered by: Wolfrider+Fireblast)
2x Pure Cold (Countered by: Antique Healbot)
2x Blizzard (Never used)
Other useful plays:
If Necroknight is the leftmost minion on the board, consider freezing it and killing it next turn to get more value out of its deathrattle (Sapphiron always plays new minions to the far left).
Other cards that would work well in this deck: