Put the olive oil and cabbage into a large frypan and cook over moderate heat, stirring, for 2 minutes. Add the garlic and tomatoes and cook, stirring, until tomatoes are starting to colour and collapse and cabbage is starting to caramelise. Add the salami a cook, stirring for a further minute. Remove from heat.
Meanwhile cook the Penne in plenty of boiling salted water until al dente. When the pasta is halfway cooked, add the broccoli florets. Once cooked, drain, reserving ½ a cup of pasta cooking water.
Put the frypan back onto high heat and add the drained pasta and broccoli. Add half the reserved cooking water and toss everything together as everything emulsifies and forms a sauce. If it is a little dry add more cooking water and a drizzle of olive oil. Season with salt and pepper and grate over parmesan cheese (to your liking). Toss and serve with extra parmesan and chilli if desired.