Cook the macaroni in a large pan of boiling water according to packet instructions until al dente.
Meanwhile, heat the oil in a medium saucepan, and cook the shallots, capsicum and garlic over medium heat for 5 minutes, until soft. Transfer to a plate and set aside.
Add the butter to the pan and melt. Add the chilli powder and flour. Cook, stirring, for 1 minute, over medium-low heat. Gradually add the milk a little at a time, stirring until smooth.
Stir gently until the mixture comes just to the boil, then reduce the heat slightly and simmer for 2 minutes. Remove from the heat, add the grated cheese and stir until melted.
Drain the pasta and return to the pan. Add the cheese sauce and stir to coat, then fold through the shallots, capsicum and kidney beans. Season to taste. Serve immediately with a green salad.