I'll do it in steps.
1) Beat the main game (which means defeating the Elite 4 and the Champion).
2) You now have access to Route 3. Go there, and bring the two Pokemon you want to breed.
3) Go to the little Day Care house on the east area of the Route, north from the Straiton City exit. Talk to the old lady and store the two Pokemon you want to breed. Remember:
- Any Pokemon in the Undiscovered Egg Group can't breed. The group consists of all legendaries but Manaphy. Baby Pokemon, Unown, Ditto, Nidorina and Nidoqueen cannot breed either, for whatever reason.
- The Pokemon need to have at least one of their Egg Groups matching to breed. Except Ditto, who will breed with anything but the Pokemon listed above and Ditto itself.
- With every 255 steps you take there is a chance an Egg will be produced (which depends on the OT).
- One Pokemon must be male and the other female. Excepting Ditto who doesn't care about genders. Also, genderless Pokemon can only breed with Ditto.
4) Hatch the Egg. The Egg will contain one of the pre-evolutions of the Pokemon you put in the Day Care (though pre-evos/non-evolving Pokemon can breed as well). After taking a certain amount of steps (varies depending on the Pokemon) the Egg will hatch. The only exception is Ditto, who cannot be in an Egg and will produce the pre-evo of whatever it bred with.