Preheat the oven to 350°F.
In a large skillet over medium heat, cook the ground beef until browned, about 5-7 minutes. Drain excess fat.
Stir in black beans, corn, diced tomatoes, taco seasoning, salt, and pepper. Cook for another 5 minutes until heated through.
In a separate bowl, mix together sour cream, half of the cheddar cheese, and half of the Monterey Jack cheese. Set aside.
To assemble, spread a thin layer of the beef mixture in the bottom of a 9x13-inch baking dish.
Layer 4 tortillas over the beef mixture, then spread half of the sour cream mixture over the tortillas.
Add half of the remaining beef mixture on top. Repeat the layers, finishing with the remaining beef mixture.
Top with the remaining cheeses and sprinkle with green onions.
Cover with aluminum foil and bake for 25 minutes.
Remove the foil and bake for an additional 10-15 minutes until the cheese is bubbly and golden.
Let the casserole cool for 5-10 minutes before serving. Garnish with fresh cilantro if desired.