I’m new to Hugo, but I think you do need separate templates for index and the others. You can, however, make them the same, using blocks in your base file. Here’s a stripped-down example.
Then, in both index.html and single.html you could have the following, and of course, include whatever structure you want. If you don’t want to duplicate the structure you could put it in a partial and include it in both templates.
They recently changed how the index page works. I just did a quick test, and they can share the same layout page if you place the index file in the contents folder.
What in particular are you trying to accomplish? Can you post your git repo?