There are 2 main issues.
The first is that you're not incrementing i anywhere. i+1 doesn't modify i, just returns the value of i+1 which you're not placing anywhere. To increment i you should use i += 1.
The second is you're not using the externally defined i variable in your Search function.
To fix this you could either declare it as global in the start of your method, or pass it as a parameter to your function.
Global method (less preferable):
lister=[4,5,1,2,3,6]
i=0
def Search(arr):
    global i
    if arr[i]==3:
        return i
    else:
        if i>=0 and i<=(len(arr)-2):          
            i+=1
            return Search(arr)
        else:
            return -1
print(Search(lister))
And the parameter method (which would be preferable):
lister=[4,5,1,2,3,6]
def Search(arr, i=0):
    if arr[i]==3:
        return i
    else:
        if i>=0 and i<=(len(arr)-2):          
            i+=1
            return Search(arr, i)
        else:
            return -1
print(Search(lister))