Is it a key switch or foot operated starter. If its a key switch type, you need a new solenoid. If it is a foot operated starter, the starter motor is running before the drive engages. It is either a linkage adjustment, chewed up teeth on the starter drive or a bad spot on the flywheel ring gear. If it is a foot operated starter, check the linkage for movement of the drive before it depresses the switch on the starter. If that looks ok, I would then suspect the ring gear. Turn the engine a little manually and then try to start it. If it starts then you have a bad spot on the ring gear. You can either flip the ring gear, or install a new ring gear.