Detwiler (9-6) handcuffed Chicago on four hits, allowing only one runner to reach third base while benefiting from a pair of inning-ending double plays.
The left-hander worked around three walks and struck out three for National League East-leading Washington, which took the opener of a four-game series.
Drew Storen tossed a scoreless eighth and Tyler Clippard earned his 30th save despite yielding a run on two hits in the ninth.
LaRoche popped a solo homer in the second inning, putting the Nats ahead to stay, while Ryan Zimmerman added an RBI double.
Cubs starter Jeff Samardjiza (8-13) took the hard-luck loss, surrendering just one run on seven hits over seven frames.
Wellington Castillo drove in Chicago's only run.