For the tomato sauce, heat the olive oil in a large skillet over low heat. Add sliced onion and sauté for 5 minutes. Add the garlic. Season with salt, pepper, sweet and smoked paprika, chili powder, and dried basil. Stir and sauté for another 2-3 minutes. Add the canned tomatoes and cook until the juices thicken, about 30 minutes, stirring every 5 minutes.
Meanwhile, place the meat, bread crumbs, cheeses, egg, black pepper, and olive oil in a large, deep bowl and mix thoroughly with a wooden spoon. Roll the mixture into 16 round balls, cover, and refrigerate for at least 30 minutes to firm up.
Once the meatballs are solid, remove them from the refrigerator. Heat 2 tablespoons of canola oil in a large skillet over medium heat. Cook the meatballs for 2-3 minutes on each side, until evenly browned all over. Remove from the heat.
Transfer the meatballs to the skillet with tomato sauce, cover, and let cook for 3-4 minutes.
Top with lots of parsley. Serve alone or with gluten-free pasta or mashed potatoes.