In a large skillet over medium high heat, melt the butter. Add the onions in and cook, stirring occasionally, until they soften- about 2-3 minutes.
Stir in the garlic, cooking just until fragrant, about thirty seconds. Add the ham, cooking for another 30 seconds, just until it's nice and hot.
Pour in the stock and half & half, stirring to combine. Stir in the pasta. Salt & pepper, to taste.
Bring the liquid to a boil, reduce the heat to medium, cover the pot and cook until the pasta's tender and has absorbed most of the liquid- about 8-10 minutes. Make sure to stir the pasta occasionally so that it doesn't stick to the pot or to each other in clumps.
Stir the cheese in, and serve immediately. Enjoy!