Had this problem on a couple of cars. Both times it was the small wire on the starter motor. Just remove and make sure it's clean and the small tab on the starter is clean. Then make sure the connector is tight and crimp a little with pliers if it isn't. Might be different on your car but it's fairly easy and free to try.