The best way to get rid of weeds in grass is to catch them early and pull them out by hand. By physically removing all or most of a weed's roots, you can severely reduce the likelihood that it will come back. And after the weeds are gone, keep in mind that only unhealthy, thin lawns are prone to weeds. If you grow grass that is well-suited to your area and is thick and well-fertilized, weed seeds will not be able to establish a population even if they land on your lawn.
Uproot all of the weeds in your grass with a trowel. Be sure to remove their root systems as well as their foliage. Certain perennial weeds have very deep roots. If you cannot remove them all, you must at least clear 4 inches of width and depth.
Remove the weeds and any root pieces from the lawn immediately. Do not compost them. Throw them away.
Replace the soil. Do not re fill the holes you create with the soil you excavated. It should be thrown away. It may contain seeds or root sections capable of regeneration. Instead, fill the hole with a quality commercial topsoil.
Reseed the bare patches. If grass is not planted there, the weeds will simply seed the area and grow again. Scatter a small amount of grass seed over the bare patch (there should be roughly 1/4 inch between each grass seed but the amount does not have to be precise) and press it down with the back of your spade. Keep these seeded patches moist until the grass seed germinates. Mow as usual.
Dig any weeds that crop back up as soon as you spot them. If they are broad-leaf perennial weeds, they must be pulled before their foliage can nourish their root systems enough to support another round of weeds. The best time to pull perennial weeds is in April and May when their roots have the lowest reserves.