Wow ! I really wish I could come with you on this one.
Catching a flight is the fastest way to do this journey. Bengaluru (Karnataka) to Shimla (Himachal Pradesh) distance is 2495 km and you can get there by flight + cab in just over 9 hours and 21 minutes. Going by train + bus won't be that fast but you will get fares starting from ₹ 1534.
The weather is great for a daytime picnic or game of cricket.