In a large bowl, mix the ground beef, bread crumbs, grated onion, eggs, salt and pepper.
Heat the oil in a large non-stick frying pan over medium-high heat.
Shape the meat mixture into meatballs and put on a frying pan (so the meatballs are not touching each other).
Brown the meatballs on one side for 3 minutes, then carefully flip them with the spatula and cook on another side for another 3 minutes.
Remove the Swedish meatballs from the frying pan and put them in a crockpot.
Now you need to make the gravy. Melt the butter in a frying pan. Add the flour to the butter and mix constantly for 1 minute. Add the beef stock and mix constantly for 1 minute.
Pour the gravy from the pan into a crockpot over the meatballs. Set the crockpot to cook the Swedish meatballs on Low for 6-8 hours.