At the Daycare Center south of Goldenrod City on Route 33, you can give a male Pokemon and a female Pokemon to the keepers to breed new Pokemon.
Eleckid: Breed two Electabuzzes. Magar: Breed two Magmars. Magikarp (Golden): Breed a Gyarados with the Red Gyarados Pi: Breed two Clefairies. Pichu: Breed two Pikachus. Pinsir: Breed a Venonat. Pipurin: Breed two Jigglypuffs. Snubbull: Breed a Clefairy with a Snubbull. Tyrogue: Breed a Hitmonchan or Hitmonlee.
Breed without the other half: You do not need another of the same Pokemon to breed. Get the Pokemon you want to breed and put it as male or female. Get Ditto, place it with male or female, and let the breeding begin.