I lay down cardboard, boxboard, newspaper, or paper grocery sacks and then pile straw on top. This has worked perfectly in my big garden beds...every spring I simply add another layer in any problem spots where weeds are poking through and then re-straw the whole patch before planting.
In my smaller raised beds I use lawn clippings in the spring and summer. In the fall I bury every bed in 4-5 inches of leaves so that there's already a good layer of mulch before I plant in the spring.
I have a no-till garden. I attempt to plant in patches (rows or holes) while leaving the rest of the soil undisturbed. My goal is to never have bare dirt exposed since you don't see bare dirt in nature. I like my beds to look as covered in leaf litter as the forest floor.
After several years of this the mulch has built up and is easy to maintain so that a little hand weeding here and there is all that is required.