Betta fish will do well with most plants. The best plants for betta fish are Anubias Nana, the Java fern, the Water Sprite, and the Hygrophila.
Betta fish need both space and vegetation, and if you try to keep them in a tank with few or no plants, they will quickly become stressed. They like heavily planted areas with lots of hiding spots to disappear into – so let’s look at their favorite plants.

Anubias
One of the top plants for betta fish, there are many kinds of Anubias, but the Anubias Nana has broad leaves that the bettas can perch on while resting. This makes them ideal for these fish.
They are also easy to care for and have few requirements; they will live in a small tank and do not need a lot of light. They are also unappealing to snails and they can be attached to rocks or anchored to the bottom.
Another advantage is that this plant grows very slowly, meaning you will not need to put a lot of time and energy into maintaining it. Your plant will stay approximately the same size for years, so you don’t have to keep trimming or reorganizing it.
Overall, Anubias Nanas are superbly suited plants and your bettas will love them.
Java Fern
Java ferns are also popular because they have wide leaves that your fish can rest on and hide among. Because they are a rhizome plant, you can simply glue the base of the plant to a rock, and you don’t need to mess around with substrates or worry about the plant getting uprooted.
You can attach a Java fern to driftwood or rocks, but make sure you don’t bury its rhizome, or the plant will die. Apart from this condition, however, Java ferns are highly adaptable plants that will grow well even in low light.
Again, they are quite slow to develop new leaves and foliage, so you don’t need to worry about maintaining them, and they will produce new Javas that you can use or sell if you choose to. Your bettas will spend a lot of time drifting in and out of the leaves.
Water Sprite
Water Sprites have long, branching fronds that wave in all directions, creating a miniature forest of foliage in the tank for your fish to hide in. These plants do like more light, but will grow reasonably well in low light conditions if necessary.
They are so popular with betta fish that they are sometimes known as a “betta fish playground,” and you’ll often see your fish ducking in and out of the fronds. They are ideal for providing hiding spots and encouraging your fish to create bubble nests.
If you like, you can let them float on the surface rather than planting them, and this is great if you want to make sure the top of the tank has some cover too. One slight disadvantage is that this plant grows fast, so you will need to keep trimming and maintaining it to stop it from swamping the tank.
Hygrophila
If you have a 20 gallon tank (or larger), a Hygrophila is a great addition because it can get large and it is a fast grower; it will soon swamp a small tank. This broad-leaf plant likes higher light levels than some, and will drop its lower leaves if the conditions are too dark.
It provides a great resting spot for bettas, and because it gets large, it’s ideal if you’re building a big tank. It will add structure and fill a good area with foliage for your fish.
Because it’s a fast grower, it will need maintenance, but it can be beneficial in a large tank, where you have a lot of empty space to fill!
Moss Ball
Whether you choose to plant the moss ball or purchase a floating moss ball, your betta fish will love this plant, and it looks fantastic in an aquarium. The fish can push it around for amusement, duck behind it, or use it for building bubble nests.
The moss ball is easy to care for and doesn’t need additional lighting, so it’s ideal if you’ve got a dark aquarium. However, your moss ball may become flatter if there are no currents, and shouldn’t be put in an aquarium that is over 75 degrees F, or it will die.
Amazon Sword Plant
If you want a really hardy specimen for your tank, the Amazon Sword Plant is a great option. It doesn’t need much light and its broad leaves will provide your bettas with resting spots and hiding places.
However, the Amazon Sword should only be grown in the largest aquariums, because it can get big – up to 3 feet! It also does need a substrate, so you’ll need to plant it to keep it properly anchored.
The Amazon Sword also likes a nutrient-rich environment and will not grow well if its substrate is low quality and doesn’t contain enough food.
Vallisneria
For those who want to create a foliage-dense aquarium on a budget, the Vallisneria is probably the best option. It forms a grass-like forest of fronds and will grow readily in most aquariums.
It spreads very quickly, and it’s great if you want to minimize the line-of-sight for your bettas; it will allow them to hide from each other and may help to reduce aggression in the tank.
However, you do need to be aware that this plant will take over if not trimmed regularly, so if you want many different plants in your aquarium, it may be a high-maintenance choice.
Conclusion
There are many plants that your betta fish will love, but make sure you are thinking about your aquarium’s size, lighting, and other inhabitants too. If you are going to choose a fast-growing plant, you will need to maintain it and make sure it doesn’t swamp your other plants. You should also think about lighting, nutrient, and temperature requirements!