If you're getting a spark at the battery, check your cable connections first. A spark anywhere near the battery can be a VERY bad thing, causing the battery to explode.
Before pulling the starter, use a multi meter to be sure you are getting full voltage to the starter terminal first. If not, correct that problem first.
I once had a customer pull in a no start Ford pickup. When I went out to try it, the battery exploded due to a loose battery terminal that sparked. Sounded like 1/2 a stick of dynamite going off.