The Git Diff utility is much more functional than the standard command-line diff.
To see changes relative to the staging area (aka the index), use git diff.
To see staged changes, use git diff --staged (or --cached).
To see changes side by side on a line (where it makes sense), use the --color-word option.
To compare two arbitrary files in the file system, use git diff --no-index.
To try some other diff algorithms, use the --patience, --histogram, or --minimal options. The default diff algorithm is --myers.
Lots more at the docs.