Instructions
Travel to Route 36 and capture the Sudowoodo with a Great- or Ultra-Ball. You must use the Squirt Bottle from the flower shop in Goldenrod to initiate the battle. It is the only Sudowoodo in the game and the only way to get a Bonsly.
Travel to Route 11 near Vermilion City and enter the nearby cave. Make your way through the cave and find Rock Incense.
Press "Start" and select "Bag." Select "Rock Incense" and choose "Give." You will be asked which Pokemon you want to give the item to. Select Sudowoodo.
Travel to Route 34, 35 or 47 and catch a Ditto. Walk in the tall grass until you encounter a Ditto and capture it with a Pokeball after weakening it in battle. You will need one to breed with the Sudowoodo.
Travel to the daycare center just outside Goldenrod City and speak to the woman inside. When asked which Pokemon you want to breed, select the Sudowoodo that is holding the Rock Incense and the Ditto.