Southampton edges Portsmouth 1-0 in a thrilling derby, securing their first win over their rivals in 22 years, despite playing with 10 men.