In a food processor, add ricotta, oil and garlic; pulse until smooth.
Add sage, egg, breadcrumbs, salt, and pepper.
Process until fully blended.
Add beef and pulse 3 to 4 times, just until mixed.
Scoop out heaping tablespoonfuls of mixture.
Gently roll mixture between palms to form balls and place on a lined sheet tray.
In a sauté pan, add 1 inch of canola oil on medium-high heat.
When hot, add meatballs.
Do not overcrowd the pan.
Sauté for 1 to 2 minutes on each side, until light golden and crisp.
Flip to other side.
Remove to a sheet tray and set aside.
Make the sauce: In the sauté pan, add olive oil.
When hot, add onion and sauté for 3 to 4 minutes.
Stir in garlic; sauté for 30 seconds.
Add remaining ingredients to pan and stir to combine.
Bring to a boil.
Reduce heat and let simmer uncovered, for about 15 to 20 minutes, until sauce thickens.
Add meatballs to sauce and gently simmer for 10 minutes.
Cook pasta according to package, drain and add to sauté pan with sauce and meatballs.
Gently toss pasta to cover with sauce.
Top with shaved Parmesan and fresh basil.