Crossword Genius

Soldier punched by a filthy general (9)

Ross

I believe the answer is:

garibaldi

I'm a little stuck... Click here to teach me more about this clue!

'general' is the definition.
(Giuseppe Garibaldi)

'soldier punched by a filthy' is the wordplay.
'soldier' becomes 'GI' (GI can mean a US soldier).
'punched by' means one lot of letters goes inside another (some letters punch a hole in others).
'filthy' becomes 'ribald' (I am not sure about this - if you are sure you should believe this answer much more).
'a'+'ribald'='aribald'
'gi' going around 'aribald' is 'GARIBALDI'.

Can you help me to learn more?

(Other definitions for garibaldi that I've seen before include "Currant sandwich biscuit" , "Revolutionary leader" , "girl's blouse!" , "Biscuit with currants" , "leader of nationalists" .)

I've seen this clue in The Telegraph.
Want a hint initially instead of a full solution? Install my app