Sprite ZFighting in 2.5D game

For some reason my sprite appears behind gameobjects in the game view, despite being on top of them. I assume this has something to do with Z-fighting. Does anyone know how I should go about fixing this?

Could it have to do with the shader I’m using for my blocks?

First, make sure you have this document memorized:

If you have multiple sprites on the same position of Z, the ones lower in the hierarchy will render first.
The ones closer to camera will render on top of each other.

However, I’d highly recommend to use Sorting Layers for sprites as it is the new standard for 2D rendering.

Now, finally, 3D renderer has no sorting layer exposed in editor, you can use this script to set sorting layer for MeshRenderer component: