You can beat the game with whatever team you want. But If you want a good team to deal with gym leaders, elite 4, etc. I would suggest this team:
Typhlosion/Feraligatr/Meganium-whichever starter you chose.
Alakazam/Gengar-Good sweeper, high power, great for all those poison types you'll face against when going through team rocket. (ice moves on him can take out lance even if he's underleveled) Gengar is an excellent pokemon too. Kadabra and haunter are still powerful if you can't trade them.
Pidgeot/Noctowl- A flying type is a neccesity because of the move fly, letting you travel around. Both have pretty good moves to deal with opponents as well.
Gyrados/Starmie-It's Gyrados. He goes well with just about any team. Starmie is an excellent pokemon, but requires a water, stone, which you don't get for a while in the game.
Amphoros-I personally don't like this guy very much, but he's very useful, and can be obtained fairly early in the game.
Heracross/eeveelution-He's hard to get, but well worth it. A pokemon like this can rip teams to shreds. Any Eeveelution is versatile enough to kill things. choose which one you need based off of your starter, so your team has balance.
You can tailor this to meet your needs, but these are a few good pokemon to name off.