For some odd reason the internet has been teaching people the wrong meaning of "engine cranking". So I want to start with confirming something.
When the starter spins, does the crankshaft rotate? If yes, the starter is fine and you have some other issue.
If the starter just goes "weeeeeeeeeeeeee" and spins like mad and the crankshaft does not engage at all, The starter is likely an issue. Everyone is going with this second one as the problem, so I will as well.
Have you tried bump starting the engine? IF nothing else just to get the crank in a slightly different spot. If you lost a tooth on the flywheel and it stopped in just that right spot the starter won't engage.
After that I would be pulling the starter. It sounds like the Bendix (one way clutch on the pinion drive) is bad. I doubt it is the solenoid itself as that throws the starter gear into the flywheel before the contacts to drive the motor engage. Since the starter is spinning the contacts are made (unless it is wired funny bypassing the on starter solenoid, which can make a bad solenoid wire a possibility).
New parts go bad, sometimes quickly. Even parts that should really be good sometimes get a bum one.