Bring a large pot of lightly salted water to a boil. Add pasta and cook until al dente, 7 to 10 minutes. Drain, cover and set aside until needed.
Melt butter in a saucepan over medium-high heat and stir in 1 tablespoon olive oil. Add 1 cup broccoli; toss and cook just until tender, about 5 minutes. Sprinkle broccoli with flour and cook 1 minute. Stir in the chicken stock and bring to a boil. Pour in the milk and stir to blend. Season with salt, pepper and chilli powder if desired. Reduce heat to medium and simmer mixture until sauce thickens, 8 to 10 minutes. Mix in 1 cup cheddar cheese and stir until melted. Remove from heat.
Heat the remaining 2 tablespoons olive oil in another large frypan over medium-high heat. Stir in the onion, chicken mince and remaining 1 cup of broccoli. Cook and stir until chicken is evenly browned and no longer pink, about 10 minutes. Season to taste with salt and pepper. Reduce heat and cook until liquid is reduced, about 5 minutes.
Preheat griller to High. Lightly grease a 20x30cm baking dish.
Toss the pasta with the broccoli sauce until evenly blended. Stir in the sour cream, if desired. Stir the broccoli sauce mixture into the chicken mixture. Spoon into the prepared baking dish. Top with remaining 1 cup cheddar cheese.
Cook under preheated griller until cheese melts and browns around the edges, 3 to 5 minutes.