The Wales midfielder headed home in the 62nd minute of the Group F clash with the Premier League club's first attempt of the match, Arsenal having soaked up Dortmund pressure for much of the encounter.
Victory leaves Arsenal top of the group on nine points, while Dortmund - playing its 100th tie in the European Cup - slips out of the top two as a result of Napoli's win over basement club Marseille.
Jurgen Klopp made one enforced change from the side that stormed to a 6-1 Bundesliga victory over Stuttgart last week, with Mats Hummels (thigh) making way for Neven Subotic.
Arsenal, meanwhile, was unchanged from a 2-0 victory over Liverpool that sent it five points clear at the top of the Premier League.
It was Subotic who had Dortmund's first meaningful shot at goal, capitalising on a poor Ramsey clearance from a Marco Reus free-kick to hook narrowly wide of Wojciech Szczesny's right-hand post.
Henrikh Mkhitaryan spurned the best chance of the first half eight minutes from the interval as he guided the ball wide of the left-hand post from the edge of the penalty area after receiving the ball from Jakub Blaszczykowski.
Szczesny was called into action early in the second half as Reus got on the end of a cross from the right and forced the goalkeeper into a diving save amid some questionable marking.
Reus had the ball in the back of the net a couple of minutes later as the host began to find holes in the Arsenal defence.
Szczesny made a superb save from Blaszczykowski, before Reus pounced on the rebound only to be deemed offside by the assistant referee.
Klopp compared Arsenal's style of play to a symphony orchestra in the build-up to this match, while stating a preference for his own brand of heavy-metal football, but Dortmund was left singing the blues as Ramsey put the London club ahead with its first chance of the match.
Mesut Ozil chipped a wonderful ball into the penalty area and Olivier Giroud got his head to it before Ramsey provided the decisive touch, nodding beyond Roman Weidenfeller.
Ozil took to Twitter after the match to laud the Gunners' team spirit:
Ramsey went close to doubling the visitor's lead four minutes later but was denied by an improvised Weidenfeller save, and Nuri Sahin was forced to clear off the line from the resulting corner.
As Arsenal suddenly stepped up a gear, Per Mertesacker was next to go close, cushioning a header narrowly over the Dortmund crossbar.
Robert Lewandowski headed over in the dying minutes, but Arsenal held on for maximum points.
Lionel Messi ended his mini-drought in front of goal with a brace as Barcelona qualified for the last 16 after a 3-1 win at home to AC Milan.
The Argentina international had not scored in his last three appearances - his worst run for a year - since his equaliser in the San Siro late last month but he scored from the penalty spot after Ignazio Abate had fouled Neymar in the area.
Sergio Busquets exploited a non-existent Milan defence to head in Xavi's free-kick five minutes before the interval but Barca's control was shaken by Gerard Pique's own goal with virtually the last kick of the half.
However, Messi made sure of the victory seven minutes from time when he converted a return pass from Cesc Fabregas for his 65th goal in 82 Champions League appearances.
Ajax's 1-0 win over Celtic courtesy of Lasse Schone's goal just after the interval closed the gap to second-placed Milan in Group H to one point, with the Scottish side needing to win its next match in Italy to keep alive its slim qualification hopes.
In Group G Atletico Madrid qualified for the knockout stage for the first time since the 2008-2009 season - also becoming the first side to be confirmed as group winner - with a comprehensive 4-0 win at home to Austria Vienna, setting a new club record with a fourth consecutive European win.
The Spanish side continued to match defending champion Bayern Munich as the only teams with 100 per cent records as Miranda, Raul Garcia and Filipe Luis gave it a 3-0 lead with Diego Costa adding the fourth eight minutes from time.
Former Porto favourite Hulk scored against his old club and missed a penalty as second-placed Zenit St Petersburg remained on course to progress after a 1-1 draw.
Hulk equalised for the Russian club after Lucho Gonzalez had given the visitor the lead midway through the first half but he missed from the spot, costing his second-placed side the chance to open a three-point cushion over its rival.
Arsenal is ahead of Napoli only on goal difference after the Italian club won 3-2 in Marseille to make it a three-way contest for qualification.
Striker Gonzalo Higuain scored twice, both times giving his side the lead with his second proving the decisive strike.
Andre Ayew put the visitor in front but Gokhan Inler and Higuain scored within three minutes of each other to give Napoli a 2-1 half-time lead.
Florian Thauvin pulled Marseille level just past the hour only for Higuain's intervention with 15 minutes remaining, meaning a draw in Dortmund next time out will secure qualification.
Chelsea needs a point from its match in Basel on matchday five to secure its progress after a comfortable 3-0 win over Schalke.
Samuel Eto'o hit two, his first after a lucky rebound off goalkeeper Timo Hildebrand's clearance, and a late goal from Demba Ba wrapped up the result.
Basel snatched a point at home to Steaua Bucharest thanks to Giovanni Sio's 90th-minute goal after Federico Piovaccari had put the visitor ahead in the first half.
UEFA Champions League MD 4 results:
Basel 1-1 Steaua Bucuresti
Chelsea 3-0 Schalke
Borussia Dortmund 0-1 Arsenal
Napoli 3-2 Marseille
Zenit St Petersburg 1-1 Porto
Atletico Madrid 4-0 Austria Vienna
Ajax 1-0 Celtic
Barcelona 3-1 AC Milan