Rinse the Brussels sprouts and dry them well with a cloth or paper towel. Trim the stems off and cut each sprout in half.
Toss the Brussels sprouts, shallots, and garlic together with the oil, salt, and pepper in a mixing bowl.
Scatter the vegetables on a baking sheet and arrange the sprouts cut-side down. Top with the chopped bacon.
Roast for 15 minutes, then flip the Brussels sprouts over. Cook for another 15-20 minutes until the sprouts are crispy and tender.
While the Brussels sprouts are roasting, combine all the ranch dip ingredients in a bowl and mix well. Store in the refrigerator until ready to use. Serve roasted Brussels sprouts with ranch dip.