Start by cooking the bacon in a skillet over medium heat until it is crisp and browned. This usually takes about 5 to 7 minutes. Once done, transfer the bacon to a paper towel-lined plate and leave a little of the bacon drippings in the skillet for extra flavor.
Season the chicken on both sides with salt, pepper, and garlic powder. Place it in the skillet and cook over medium heat until fully cooked through, about 5 to 6 minutes per side depending on thickness. Use a meat thermometer to make sure the internal temperature reaches 165°F.
Remove the chicken from the skillet and let it rest for a few minutes. This helps the juices settle so the meat stays tender. Once rested, chop the chicken into bite-sized pieces.
If you want a little extra texture, lightly toast the bread or rolls. You can do this in a skillet with a little butter or olive oil, or in a toaster until just golden. This helps the sandwich hold up better once assembled.
Spread ranch dressing on both sides of the bread. Layer the chopped chicken over the bottom half, then add the crispy bacon, lettuce, tomato slices, and red onion if using. Make sure the toppings are evenly distributed so every bite has good balance.
Top with the second slice of bread or the upper half of the roll and press gently. Slice the sandwich in half and serve right away while everything is fresh and the bacon is still crisp.