I haven't managed to reproduce exactly what you are asking for, but wdiff might be a better tool.
$ apropos wdiff
wdiff (1) - display word differences between text files
As opposed to diff...
diff (1) - compare files line by line
So diff will tell you about lines which have changed and wdiff will tell you about words that have changed. It doesn't place the changes on different lines because it would then not be possible to keep track of which line of the file the changes occured on.
For example with files containing:
john is good. I know!!
So is mike
john is bad. I know!!
So is bob
$ wdiff --no-common file1.txt file2.txt
You can probably post-process the output with sed or similar to tailor it more to your needs.