Cook the bacon in a frying pan till crisp. Place on a paper towel lined plate to cool.
Chop the broccoli into florets. Hold the broccoli with the stem facing up on a cutting board and use your knife to remove the florets from the crown. For Broccoli Bacon Salad, cut some of the florets in half to make smaller bite sized pieces. Place broccoli into a large bowl. Make sure the bowl is large enough to stir all the ingredients with the dressing.
Dice the red onion and add it to the bowl with the broccoli. Add the cheese, craisins, sunflower seeds, and pecans.
Chop the bacon and add it to the large bowl with broccoli.
For the dressing, mix the mayo, sour cream, salt, pepper, sugar, poppy seeds, and vinegar in a small bowl.
Pour the dressing over the salad and gently mix.
Cover and chill for 1-2 hours before serving.