Because the male Siamese fighting fish has a reputation for being somewhat aggressive, fish keepers often conclude that they cannot keep bettas with any other fish.
However, providing that you pick your tank mates carefully and do your research in advance, this is by no means the case. Most bettas can be kept perfectly happily within a communal tank.
Betta fish with other fish
Male bettas and other male bettas
Male bettas should not be kept with other male bettas, as they are very territorial and will almost certainly fight.
If you have a very large aquarium, it may be possible to provide enough space to allow two bettas to create two distinct territories, but this should be undertaken with great care.
Female bettas can live quite happily in groups, providing that the group is not too large and the fish are not forced to compete for space and resources. One male betta can also live perfectly happily with several females without incident.
Other types of fish
Providing that you follow the above rules and only keep one male betta per tank, while not overcrowding the females, bettas can be kept with a wide range of other fish species.
Other than when two male bettas are in competition with each other, the betta species as a whole is generally peaceful and unlikely to display aggression towards other species of fish, unless the other species happens to look similar to a male betta!
Good tank mates for betta fish
Bettas can usually live happily in a tank with guppies, though the long, vibrant tails of male guppies could potentially cause some fighting or aggression. Once the male betta realizes that the male guppies are not in competition with them, this will usually settle down on its own.
Tetras, including small shoals of neon tetra, make good tank mates for bettas, and the two different species of fish will largely ignore each other.
Corydora or Oto catfish are generally fine with bettas too. Even large species of catfish are usually safe to keep with bettas, as they each behave in a different manner and do not view each other as competition.
Bad tank mates for bettas
Angelfish are not a good combination with bettas. This is because angelfish tend to be rather aggressive and not afraid of eating or attacking smaller fish. The slow-moving betta with its long, flowing fins and tail and its bright colors will soon become a target for larger angelfish.
Gourami fish also do not work well with the betta as gouramis are large and prone to nibbling on fins and tails. Generally speaking, bettas kept with any other species of relatively large and potentially aggressive fish will lead to stress and an unhappy tank environment.