Thanks guys, some good pointers there.
I have tried putting soil and small stones on top but the buoyancy of the grass is greater than the weight of the soil/stones so they end up falling off and dhg floating to the top. I might try using small toothpicks as suggested by aokashi. I use pellet sized soil so it can be quite loose.
Another problem I'm having is keeping the tank and the substrate clean. I have a canister and hang on filter but sometimes the uneaten food will rest of the soil or plants. If I can see them then I will remove it but sometimes they do end up in areas where its more difficult to find i.e. behind rocks, underneath plants etc. What's the best way to feed the fish? Actually thinking about it I do have a feeder ring in my turtle tank. Maybe I could try using that?