4-5 hours, if I weigh out my grain and hops the day before, and have all my equipment ready to go. All-grain, cooler mash tun, plate chiller.
My problem is that my equipment is in my basement, but I brew in my garage on a propane Bayou Burner. Hauling everything up and down the stairs costs me quite a bit of time.
I've learned a lot of tricks to speed things up. The very first thing I do on brew day is dump 2 gallons of hot tap water into my mash tun and close the lid, to preheat it. Then I measure out my strike water and get it on the burner. While it's heating, I mill the grain and start bringing up the rest of the equipment. When the strike water is to temp, I dump the hot water out of the mash tun, add the strike water, and stir. When I hit my temp, I cover the grain bed with a sheet of aluminum foil and close up the tun. I then immediately measure out my sparge water and get it heating up. It usually comes to temperature (180° F) a little before I'm ready for it, but I just turn off the burner. That much water won't lose *that* much heat in the 20 minutes it takes me to recirculate and collect my first runnings. And it beats looking at the clock, knowing I've been mashing for 75 minutes, and I'm *still* waiting for my sparge water to reach temperature.
Other timesavers, as others mentioned, include cleaning as you go. However, the only thing I can "clean as I go" is my mash tun. I clean it during the boil. There's really nothing else to clean until the wort has been chilled and transferred into the fermenter.
I rehydrate my yeast during the boil, set up my chiller and pump with about 20 minutes to go in the boil, get the fermenter ready, etc. I try to multitask. It means less down time during a brew day, but it can shorten it up quite a bit.