Make sure you try a new spark plug to make sure it's not a bad plug. Sometimes, not often, you get a new bad plug. Remove the engine shroud then follow the spark plug wire to the ignition module. Disconnect the small ground wire plugged into the terminal at the base of the coil to make sure it's not a kill switch or shorted ground wire problem. While you're there, dangle a screwdriver from your fingertips near the flywheel magnets. It should draw the screwdriver from about a 1/2" away. Finally, take the coil off and clean the connection points where the coil and engine meet with a bit of sandpaper, both the coil and the engine. If these steps don't solve the problem, you have a bad ignition module that will need to be replaced.
If you get spark with the ground wire removed, let me know and we'll go through the troubleshooting on the ground circuit.
What I'm talking about sanding it the mounting posts on the engine where is mounts. Also the metal portion around metal lamination (metal stacks) around the coil where the holes are. You want to be sure to have a good connection between the metal part of th coil and the engine block.
The part number is XXXXX 34443D and you can get it from any local lawnmower repair shop, or here is a search for comparing prices online.