Over the years I have modified my methods. I am down to about 2.5 hours, sometimes as short as two.
Batches: 2.5 gallon BIAB
Equipment: 4 gallons Gigawort electric mash/brew kettle
0:00 Fill vessel with mash water
0:05 Measure and mill grains
0:15 Start mash
1:00 Finish mash, turn heat up to boil
1:15 Beginning of boil. While wort is coming to a boil, I do a modified batch sparge on the grain bag to catch all the sugar. Also measure out hops.
1:45 End boil and transfer to fermenter. Wort is chilled in fermenter using SS Brewtech heat exchanger coils.
2:00 Wort is cooled to pitch temperature and yeast is pitched. Cleanup is completed during wort cooling.
2 hours is possible but I usually get sidetracked with other things and end up closer to two and a half.
This method works for me due to small batches, fairly simple hop schedules, and some dedicated space.
Over the years, I found that 45 minute mashes were sufficient for starch conversion, especially with a very find grind for BIAB. I also shortened the boil to 30 minutes. I have to adjust the hop schedule, but 30 minutes seems to provide a good hot break.
I can’t advocate this length of brew day for everyone because with some systems this isn’t possible or prudent. But the short brew day gives me more chances to brew. In 2020, I was able to brew 25 batches. I know that if I had a 6 or 7 hour brew day, that would just not have been possible.