Boil salted water, cook pasta to al dente per package directions
Drain, rinse under cold water, drain well, transfer to large bowl
Cube fresh mozzarella (or use pearls), pat dry with paper towel
Halve cherry tomatoes, let drain if very juicy
Tear or chiffonade fresh basil leaves
Toast pine nuts in dry skillet 3-5 minutes if using, cool
Make dressing: whisk olive oil, balsamic, lemon juice, garlic, honey, Dijon, Italian seasoning, salt, pepper, red pepper flakes
Or shake in jar until emulsified
Taste and adjust seasoning
Pour ¾ of dressing over pasta, toss well to coat
Add tomatoes, toss gently
Add mozzarella, fold in gently
Add most of basil, onion, pine nuts, reserve some basil for garnish
Fold gently to combine
Cover, refrigerate at least 30 minutes up to 4 hours
Remove 15 minutes before serving, toss again
Add remaining dressing if dry, top with reserved basil
Garnish with extra basil, serve cool or room temperature