Morne Morkel was top drawer for the Spartans bowlers taking 2/24 in his four overs while David Wiese claimed 3/30.
Earlier, an unbeaten 48 by Pite van Biljon and 31 not out from Wiese saw the visitors through to 166/4 after the Giants had won the toss and asked them to bat.
The pair shared an undefeated team record stand of 87 off 52 balls for fifth wicket that breathed life into an innings that had threatened to cave in at 79/4 in the 12th over.
It beat the previous best of 63 that was set by Van Biljon and AB de Villiers against the Jozi Stars earlier in the campaign.
Seamer Mthi Nabe of the Giants, who was called in to replace the injured Junior Dala, took the crucial wickets of Dean Elgar (14) and AB de Villiers (27), both deceived by slower deliveries.
He finished with figures of two for 24.