To make the gravy, melt half the butter in a large frying pan and add the onions and sugar, then cook over a medium heat for 20-30 minutes until caramelised, stirring occasionally. Pour in the wine and allow to bubble down and then simmer until it has almost disappeared. Stir in the flour and cook for 1 minute, stirring. Gradually add the stock, then season to taste and simmer gently until you have achieved a rich gravy. Keep warm.
To make the garlic mash, place the potatoes in a covered pan of boiling water and simmer for 15-20 minutes until tender. After about 10 minutes, heat the oil in a frying pan and cook the sausages for about 10 minutes until golden brown, turning regularly. Place the milk in a small pan with the garlic and simmer gently until the garlic is completely soft, then mash down with a fork.
Drain the potatoes and mash until smooth, then beat in the butter with the milk and garlic mixture. Season to taste. Divide the mash among warmed plates and arrange the sausages alongside. Spoon over the caramelised onion gravy and garnish with the parsley to serve.